#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define a first
#define b second
#define pb push_back
#define endl '\n'
llo it[100001];
vector<llo> aa[100001];
llo pre[100001];
vector<pair<llo,llo>> bb[100001];
vector<pair<llo,llo>> cc[100001];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
llo n,q;
cin>>n;
for(llo i=0;i<n;i++){
cin>>it[i];
pre[i+1]=pre[i]+it[i];
}
cin>>q;
for(llo i=1;i<n;i++){
if(it[i]<it[i-1]){
aa[i].pb(i);
}
for(auto j:aa[i-1]){
if(pre[i+1]-pre[j]<it[j-1]){
aa[i].pb(j);
}
}
/*if(i==7){
for(auto j:aa[i]){
cout<<j<<",,";
}
cout<<endl;
}*/
if(i<n-1){
for(auto j:aa[i]){
if(pre[i+1]-pre[j]<it[i+1]){
bb[j-1].pb({i,j});
cc[i+1].pb({i,j});
//cout<<i<<":"<<j<<endl;
}
}
}
}
multiset<pair<llo,llo>> cur;
llo ans=n;
for(llo i=0;i<n;i++){
for(auto j:cc[i]){
auto jj=cur.find({j.a,-j.b});
cur.erase(jj);
}
if(cur.size()){
pair<llo,llo> no=*(cur.begin());
no.b=-no.b;
ans--;
}
else{
}
for(auto j:bb[i]){
cur.insert({j.a,-j.b});
}
}
for(llo i=1;i<n;i++){
if(pre[i]<it[i]){
ans--;
break;
}
}
for(llo i=n-2;i>=0;i--){
if(it[i]>(pre[n]-pre[i+1])){
ans--;
break;
}
}
cout<<ans<<endl;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
6 ms |
7252 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
7380 KB |
Output is correct |
2 |
Incorrect |
37 ms |
16776 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
6 ms |
7252 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
7380 KB |
Output is correct |
2 |
Incorrect |
37 ms |
16776 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
7380 KB |
Output is correct |
2 |
Incorrect |
37 ms |
16776 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
6 ms |
7252 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |