# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
335327 | 2020-12-12T00:20:54 Z | gmyu | Editor (BOI15_edi) | C++14 | 973 ms | 30524 KB |
/* ID: USACO_template LANG: C++ PROG: USACO */ #include <iostream> //cin , cout #include <fstream> //fin, fout #include <stdio.h> // scanf , pringf #include <cstdio> #include <algorithm> // sort , stuff #include <stack> // stacks #include <queue> // queues #include <map> #include <string> using namespace std; typedef pair<int, int> pii; typedef vector<int> vi; /// adjlist without weight typedef vector<pii> vii; /// adjlist with weight typedef vector<pair<int,pii>> vpip; /// edge with weight typedef long long ll; #define mp make_pair #define fst first #define snd second #define pb push_back #define sz(x) (int)(x).size() #define trav(u, adj_v) for (auto& u: adj_v) const int MOD = 1e9+7; // 998244353; const int MX = 2e5+5; // const ll INF = 1e18; // #define MAXV 300007 #define MAXE 100007 /// code from USACO examples void setIO(string name) { ios_base::sync_with_stdio(0); cin.tie(0); freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout); } bool debug = false, submit = true; int N; int a[MAXV], lev[MAXV]; #define MAXLCALOG 20 int anc[MAXV][MAXLCALOG]; int getP(int curr, int wantedDepth) { /// reach wanted depth if(lev[curr] <= wantedDepth) return curr; for(int k = MAXLCALOG - 1; k>= 0; k--) { while(lev[anc[curr][k]] > wantedDepth) { curr = anc[curr][k]; } } if(lev[curr] <= wantedDepth) return curr; return anc[curr][0]; } int main() { debug = true; submit = false; if(submit) setIO("Editor"); int i, j, k; cin >> N ; a[0] = 0; for(i=1; i <= N; i++) { cin >> a[i]; if(a[i] > 0) { lev[i] = 0; cout << a[i] << endl; } else { lev[i] = -a[i]; j = getP(i - 1, lev[i] - 1); k = getP(j - 1, lev[i] - 1); anc[i][0] = k; for(j = 1; j < MAXLCALOG; j++) anc[i][j] = anc[anc[i][j-1]][j-1]; k = getP(i, 0); cout << a[k] << endl; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 16 ms | 620 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 18 ms | 748 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 14 ms | 876 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 17 ms | 876 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 853 ms | 29676 KB | Output is correct |
2 | Correct | 836 ms | 29640 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 434 ms | 9452 KB | Output is correct |
2 | Correct | 515 ms | 10976 KB | Output is correct |
3 | Correct | 785 ms | 23148 KB | Output is correct |
4 | Correct | 835 ms | 29676 KB | Output is correct |
5 | Correct | 830 ms | 30280 KB | Output is correct |
6 | Correct | 817 ms | 27632 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 16 ms | 620 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 18 ms | 748 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 14 ms | 876 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 17 ms | 876 KB | Output is correct |
10 | Correct | 853 ms | 29676 KB | Output is correct |
11 | Correct | 836 ms | 29640 KB | Output is correct |
12 | Correct | 434 ms | 9452 KB | Output is correct |
13 | Correct | 515 ms | 10976 KB | Output is correct |
14 | Correct | 785 ms | 23148 KB | Output is correct |
15 | Correct | 835 ms | 29676 KB | Output is correct |
16 | Correct | 830 ms | 30280 KB | Output is correct |
17 | Correct | 817 ms | 27632 KB | Output is correct |
18 | Correct | 847 ms | 18424 KB | Output is correct |
19 | Correct | 855 ms | 18336 KB | Output is correct |
20 | Correct | 973 ms | 28908 KB | Output is correct |
21 | Correct | 830 ms | 29560 KB | Output is correct |
22 | Correct | 865 ms | 30524 KB | Output is correct |