Submission #671569

#TimeUsernameProblemLanguageResultExecution timeMemory
671569ArapakGrowing Trees (BOI11_grow)C++17
0 / 100
1094 ms2212 KiB
// Author: Kajetan Ramsza #include "bits/stdc++.h" using namespace std; template<typename F, typename S> ostream& operator<<(ostream& os, const pair<F, S> &p) { return os<<"("<<p.first<<", "<<p.second<<")"; } template<typename T> ostream &operator<<(ostream & os, const vector<T> &v) { os << "{"; typename vector< T > :: const_iterator it; for( it = v.begin(); it != v.end(); it++ ) { if( it != v.begin() ) os << ", "; os << *it; } return os << "}"; } void dbg_out() { cerr<<'\n'; } template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cerr<<' '<<H; dbg_out(T...); } #ifdef DEBUG #define dbg(...) cerr<<"(" << #__VA_ARGS__ <<"):", dbg_out(__VA_ARGS__) #else #define dbg(...) #endif typedef long long ll; const int inf = 1e9 + 7; int n,q; vector<int> vec; int find(int x) { int b = 0, e = n; while(b < e) { int mid = (b + e) / 2; if(vec[mid] < x) { b = mid + 1; } else { e = mid; } } return b; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>q; vec.resize(n); for(auto &v : vec) cin>>v; vec.push_back(inf); sort(vec.begin(), vec.end()); for(int i=0;i<q;i++) { dbg(vec); char query; cin>>query; if(query == 'F') { int c, h; cin>>c>>h; sort(vec.begin(), vec.end()); int ind = 0; for(int j=0;j<n;j++) { if(vec[j] >= h) { ind++; vec[j]++; if(ind == c) break; } } sort(vec.begin(), vec.end()); } else { int mini, maxi; cin>>mini>>maxi; int ind1 = find(mini); int ind2 = find(maxi); if(vec[ind2] > maxi) ind2--; cout<<ind2 - ind1 + 1<<'\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...