Submission #1150272

#TimeUsernameProblemLanguageResultExecution timeMemory
1150272yeysoAncient Machine (JOI21_ancient_machine)C++20
0 / 100
72 ms13244 KiB
#include "Anna.h" #include <vector> using namespace std; #include <bits/stdc++.h> namespace { //int variable_example = 0; } void Anna(int N, vector<char> S) { for(int i = 0; i < S.size(); i ++){ if(S[i] == 'X'){ Send(0); Send(0); } if(S[i] == 'Y'){ Send(0); Send(1); } if(S[i] == 'Z'){ Send(1); Send(1); } } } /* g++ -std=gnu++17 -O2 -fsigned-char -o grader grader.cpp ancientmachine.cpp Bruno.cpp */
#include "Bruno.h" #include <vector> using namespace std; #include <bits/stdc++.h> namespace { int variable_example = 0; int FunctionExample(int P) { return 1 - P; } } // namespace void Bruno(int N, int L, vector<int> A) { vector<int> z; for(int i = 0; i < L; i += 2) { if(A[i] == 0){ if(A[i+1] == 0){ z.push_back(1); } if(A[i+1] == 1){ z.push_back(2); } } if(A[i] == 1){ z.push_back(3); } } stack<int> oo; stack<vector<int>> oc; vector<vector<int>> triplets; vector<int> toremove; int depth = 0; int update = 0; for(int i = 0; i < z.size(); i ++){ if(z[i] == 1){ oo.push(i); depth += 2; update = depth - 1; } if(z[i] == 2){ update = 1000000; if(!oo.empty()){ oc.push({oo.top(), depth}); oo.pop(); update = depth; } } if(z[i] == 3){ update = 1000000; if(!oc.empty()){ update = oc.top()[1] - 1; oc.pop(); //update = depth - 1; depth -= 2; } } toremove.push_back(update); } vector<vector<int>> updates; for(int i = 0; i < toremove.size(); i ++){ //cout << toremove[i] << " "; vector<int> temp = {toremove[i], i}; updates.push_back(temp); } sort(updates.begin(), updates.end()); reverse(updates.begin(), updates.end()); for(int i = 0; i < updates.size(); i ++){ Remove(updates[i][1]); } } /* g++ -std=gnu++17 -O2 -fsigned-char -o grader grader.cpp ancientmachine.cpp Bruno.cpp 8 X Y X Z Y X Y Z 48 X X Y Y Z Z Y X Y X Z Y X X Y Y Z Z Y X Y X Z Y X X Y Y Z Z Y X Y X Z Y X X Y Y Z Z Y X Y X Z Y 3 X X X 3 Y Y Y 3 Z Z Z 3 X Y Z 15 Y X Z Z X Y X Z Y Z X Y X Y Z 20 X X Y Y Z Z X Y Z X Y Z X X Y Z X Y Z X 25 Z Y X X Y Z Z Y X X Z Y X Y Z X Z Y X X Y Z Y X Z 30 X Y Z X Y Z X X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z 40 Z Z X X Y Y Z X Y Z X X Y Z X Y Z X X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X Y X X 50 X Y Z Z Y X X Z Y X Y Z X X Y Z X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z X Y X X Y Z Y Z 60 Y X Z Z X Y X Z Y Z X Y X Y Z X Y Z X X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z X Y X X Y Z X Y Z Z X Y Z Y X 75 X X Y Z X Y Z X X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z Y X X Z Y X Y Z X Y Z X X Y Z X Y Z Z X Y X X Y Z X Y Z Z X Y Z Y X Z X Y Z X X Y Z Z Y X 45 Z Z Z X X X Y Y Y Z Z Z X X X Y Y Y Z Z Z X X X Y Y Y Z Z Z X X X Y Y Y */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...