Submission #531039

#TimeUsernameProblemLanguageResultExecution timeMemory
531039xuliuGrowing Trees (BOI11_grow)C++17
20 / 100
1096 ms1832 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define debug if(0) const int mod = 1e9 + 7; const ll infL = 1e18 + 7; const int inf = 1e9 + 7; void add(int &a, int b) { a = (a+b)%mod; } int add(int a, int b, int c) { int res = (((a+b)%mod) + c)%mod; return res; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin>>n>>m; vector<int> tr(n); for(int i=0; i<n; i++) { cin>>tr[i]; } sort(tr.begin(), tr.end()); debug { for(int i=0; i<n; i++) cerr<<tr[i]<<" "; cerr<<"\n"; } while(m--) { char t; cin>>t; if(t == 'F') { int c, h; cin>>c>>h; int cnt = 0; for(int i=0; i<n; i++) { if(tr[i] >= h && cnt < c) { tr[i]++; cnt++; if(cnt > c) break; } } sort(tr.begin(), tr.end()); debug { cerr<<"F "<<c<<" "<<h<<"\n"; for(int i=0; i<n; i++) cerr<<tr[i]<<" "; cerr<<"\n"; } } else { int a, b; cin>>a>>b; int ans = 0; for(int i=0; i<n; i++) { if(tr[i] > b) break; if(tr[i] >= a) ans++; } cout<<ans<<"\n"; } } }
#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...