Submission #791884

#TimeUsernameProblemLanguageResultExecution timeMemory
791884TrentGrowing Trees (BOI11_grow)C++17
0 / 100
1082 ms760 KiB
#include "bits/stdc++.h" using namespace std; #define forR(i, a) for(int i=0; (i) < (a); ++(i)) #define REP(i, a, b) for(int i=(a); (i) < (b); ++(i)) #define open(x) freopen(((string) x + ".in").c_str(), "r", stdin); freopen(((string) x + ".out").c_str(), "w", stdout); #define boost() cin.sync_with_stdio(0); cin.tie(0) #define all(a) (a).begin(), (a).end() typedef long long ll; const int MN = 1e5 + 10, ME = 4 * MN, INF=1e8; int a[MN]; int las(int v, int nl, int nr, int val){ for(int i=nr; i >= 0; --i) if(a[i] < val) return i; } int val(int v, int nl, int nr, int i){ return a[i]; } void upd(int v, int nl, int nr, int l, int r){ REP(i, l, r+1) a[i] += 1; } void build(int v, int nl, int nr){} signed main(){ int n, m; cin >> n >> m; REP(i, 1, n + 1) cin >> a[i]; sort(a+1, a+n+1); a[0] = -INF; build(1,0,n); forR(g, m){ char ins; int p, q; cin >> ins >> p >> q; if(ins == 'F'){ int st=las(1,0,n,q)+1; int fi=min(n, st+p-1); int fv=val(1,0,n,fi); int j=las(1,0,n,fv); // take st...j int ex = fi-j; int en=las(1,0,n,fv+1); // take en-ex+1...en upd(1,0,n,st,j); upd(1,0,n,en-ex+1,en); } else { int lef=las(1, 0, n, p)+1, rig=las(1,0,n, q+1); cout << rig - lef + 1 << '\n'; } // REP(i, 1, n + 1) cout << val(1,0,n,i) << ' '; // cout << '\n'; } }

Compilation message (stderr)

grow.cpp: In function 'int las(int, int, int, int)':
grow.cpp:15:1: warning: control reaches end of non-void function [-Wreturn-type]
   15 | }
      | ^
#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...