Submission #197593

#TimeUsernameProblemLanguageResultExecution timeMemory
197593stefdascaWatering can (POI13_kon)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "koninc.h" using namespace std; const int MAXN = 300001, rad = 1000; int N, K, v[MAXN+5], done = 300000; int buk[MAXN+5], L[1012], R[1012], ad[1012], nrbuk, aans[1012]; short ans[302][300012]; void proc(int bk, int LL, int RR) { for(int j = L[bk]; j <= R[bk]; ++j) { if(v[j] >= K) ans[bk][0] = 0; else if(K - v[j] <= 300000) ans[bk][K - v[j]] = 0; } for(int j = LL; j <= RR; ++j) v[j]++; for(int j = L[bk]; j <= R[bk]; ++j) { v[j] += ad[bk]; if(v[j] >= K) ans[bk][0]++; else if(K - v[j] <= done) ans[bk][K - v[j]]++; } ad[bk] = 0; aans[bk] = ans[bk][0]; } void inicjuj(int n, int k, int *D) { N = n, K = k; for(int i = 0; i < n; ++i) v[i] = D[i]; for(int i = 0; i < n; ++i) { if(i % rad == 0) ++nrbuk, L[nrbuk] = i; R[nrbuk] = i; buk[i] = nrbuk; } for(int i = 0; i <= nrbuk; ++i) proc(i, 1, 0); } void podlej(int a, int b) { int fini = R[buk[a]]; int ax = buk[a]; proc(ax, a, min(b, fini)); a = min(b, fini) + 1; while(a < N && R[buk[a]] <= b) ++ad[buk[a]], aans[buk[a]] = aans[buk[a]] + ans[buk[a]][ad[buk[a]]], a = R[buk[a]] + 1; if(a <= b) { fini = R[buk[a]]; ax = buk[a]; proc(ax, a, b); } --done; } int dojrzale(int a, int b) { int fini = R[buk[a]]; int qans = 0; proc(buk[a], 1, 0); while(a <= b && a <= fini) { if(v[a] >= K) ++qans; ++a; } while(a < N && R[buk[a]] <= b) qans += aans[buk[a]], a = R[buk[a]] + 1; if(a <= b) { proc(buk[a], 1, 0); fini = R[buk[a]]; while(a <= b && a <= fini) { if(v[a] >= K) ++qans; ++a; } } --done; return qans; } int main() { int D[MAXN]; int num_calls, i; int n, k; cin >> n >> k; for (i = 0; i < n; ++i) cin >> D[i]; inicjuj(n, k, D); cin >> num_calls; for (i = 1; i <= num_calls; i++) { char call; int a, b; cin >> call >> a >> b; if (call == 'p') podlej(a, b); else cout << dojrzale(a, b) << '\n'; } return 0; }

Compilation message (stderr)

/tmp/ccKuJdVY.o: In function `main':
kongrader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccy6oSab.o:kon.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status