Submission #900151

#TimeUsernameProblemLanguageResultExecution timeMemory
900151Abdalaziz_AlshamiGrowing Trees (BOI11_grow)C++17
0 / 100
171 ms604 KiB
#include<iostream> #include<algorithm> #define int int64_t using namespace std; const int N=7e3+7; int a[N],n,q; void order(int c,int h) { int d=c,s=0; char x='*'; for(int i=0;i<n&&d;i++) { if(a[i]>=h) { if(i==0) s=1,x=a[i]; else if(a[i]!=a[i-1]) s=1,x=a[i]; else s++; d--; } } d=c; for(int i=n-1;i>=0&&d;i--) { if(a[i]==x&&s) a[i]++,s--,d--; else if(a[i]!=x&&d<c) a[i]++,d--; } } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>q; for(int i=0;i<n;i++) cin>>a[i]; sort(a,a+n); while(q--) { char ty; cin>>ty; if(ty=='F') { int c,h; cin>>c>>h; order(c,h); } else{ int mn,mx; cin>>mn>>mx; int p1=lower_bound(a,a+n,mn)-a; int p2=upper_bound(a,a+n,mx)-a; cout<<p2-p1<<endl; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...