# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
26840 | 2017-07-06T09:51:25 Z | yutaka1999 | Editor (BOI15_edi) | C++14 | 309 ms | 50336 KB |
#include <cstdio> #include <cstdlib> #include <cstdlib> #include <algorithm> #include <vector> #include <cstring> #define SIZE 300005 #define BT 20 using namespace std; int A[SIZE]; int par[SIZE][BT]; int mn[SIZE][BT]; int ans[SIZE]; int main() { int n; scanf("%d",&n); memset(par,-1,sizeof(par)); memset(mn,-1,sizeof(mn)); for(int i=0;i<n;i++) { int a; scanf("%d",&a); if(a>0) { ans[i]=a; par[i][0]=i; } else { a=-a; int to=i-1; for(int j=BT-1;j>=0;j--) { if(mn[to][j]>=a) { to=par[to][j]; } } to--; if(to==-1) { ans[i]=0; mn[i][0]=a; } else { ans[i]=ans[to]; int now=to,c=a; for(int j=0;j<BT;j++) { par[i][j]=now; mn[i][j]=c; if(now!=-1) { c=min(c,mn[now][j]); now=par[now][j]; } } } } printf("%d\n",ans[i]); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 50336 KB | Output is correct |
2 | Correct | 3 ms | 50336 KB | Output is correct |
3 | Correct | 9 ms | 50336 KB | Output is correct |
4 | Correct | 3 ms | 50336 KB | Output is correct |
5 | Correct | 3 ms | 50336 KB | Output is correct |
6 | Correct | 0 ms | 50336 KB | Output is correct |
7 | Correct | 0 ms | 50336 KB | Output is correct |
8 | Correct | 0 ms | 50336 KB | Output is correct |
9 | Correct | 9 ms | 50336 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 109 ms | 50336 KB | Output is correct |
2 | Correct | 143 ms | 50336 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 59 ms | 50336 KB | Output is correct |
2 | Correct | 76 ms | 50336 KB | Output is correct |
3 | Correct | 246 ms | 50336 KB | Output is correct |
4 | Correct | 136 ms | 50336 KB | Output is correct |
5 | Correct | 143 ms | 50336 KB | Output is correct |
6 | Correct | 166 ms | 50336 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 50336 KB | Output is correct |
2 | Correct | 3 ms | 50336 KB | Output is correct |
3 | Correct | 9 ms | 50336 KB | Output is correct |
4 | Correct | 3 ms | 50336 KB | Output is correct |
5 | Correct | 3 ms | 50336 KB | Output is correct |
6 | Correct | 0 ms | 50336 KB | Output is correct |
7 | Correct | 0 ms | 50336 KB | Output is correct |
8 | Correct | 0 ms | 50336 KB | Output is correct |
9 | Correct | 9 ms | 50336 KB | Output is correct |
10 | Correct | 109 ms | 50336 KB | Output is correct |
11 | Correct | 143 ms | 50336 KB | Output is correct |
12 | Correct | 59 ms | 50336 KB | Output is correct |
13 | Correct | 76 ms | 50336 KB | Output is correct |
14 | Correct | 246 ms | 50336 KB | Output is correct |
15 | Correct | 136 ms | 50336 KB | Output is correct |
16 | Correct | 143 ms | 50336 KB | Output is correct |
17 | Correct | 166 ms | 50336 KB | Output is correct |
18 | Correct | 149 ms | 50336 KB | Output is correct |
19 | Correct | 113 ms | 50336 KB | Output is correct |
20 | Correct | 309 ms | 50336 KB | Output is correct |
21 | Correct | 106 ms | 50336 KB | Output is correct |
22 | Correct | 126 ms | 50336 KB | Output is correct |