Submission #1286517

#TimeUsernameProblemLanguageResultExecution timeMemory
1286517ggillianjiangDancing Elephants (IOI11_elephants)C++20
0 / 100
1 ms432 KiB
#include <iostream> #include <cstdio> #include <vector> #include <utility> using namespace std; #define loop(s) for (int a = 0; a < s; ++a) using vec_t = vector<int>; using p_t = pair<int, pair<int, int>>; using vp_t = vector<p_t>; using vv_t = vector<vector<int>>; int n, l, least; vv_t frames; int update(int i, int y) { int si = frames[i / l].size(); loop(frames[i / l].size()) { int b = frames[i / l][a]; if (b == -1) continue; else if (b == i){ if(a == si - 1) frames[i / l].pop_back(); else b = -1; if(si==1) least --; break; } } int sy = frames[y / l].size(); if (sy == 0) least++; frames[y / l].push_back(y); printf("%d", least); return least; } void init(int N, int L, int X[]) { int M, i, y; n = N; l = L; //scanf("%d", &M); loop(sizeof(*X) / sizeof(X[0])) { frames[X[a] / l].push_back(X[a]); if (X[a] / l != X[a - 1] / l) least++; } //printf("%d", least); loop(M) { //scanf("%d %d", &i, &y); update(i, y); } }
#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...