[KHTN - Thi thử TS10 #1 - 2026] Bài 2: MOVE
Xem dạng PDF
Gửi bài giải
Điểm:
5,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Bình luận
bài này bạn có thể sửa dụng prefix sum hoặc tính s
đối với prefix sum
n=int(input()) a=str(input()) pre=[0]*(n+1) for i in range(1,n+1): if a[i-1]=="+": pre[i]=pre[i-1]+1 else: pre[i]=pre[i-1]-1 print(max(pre)-min(pre))
đây là code python
Code day nhe mn
include<bits/stdc++.h>
using namespace std;
int main() { ios::syncwithstdio(false); cin.tie(NULL);
}
include <bits/stdc++.h>
using namespace std; const int MAXN=1e5+5; char a[MAXN]; int main(){ iosbase::syncwithstdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; for (int i=1;i<=n;++i) cin>>a[i]; vector<int> v(n+1,0); for (int i=1;i<=n;++i){ if (a[i]=='+') v[i]=v[i-1]+1; else if (a[i]=='-') v[i]=v[i-1]-1; } int ans=INTMIN; int cnt=INT_MAX; for (auto &x:v){ ans=max(ans,x); cnt=min(cnt,x); } cout<<ans-cnt<
}