Submission #950800

#TimeUsernameProblemLanguageResultExecution timeMemory
950800andrei_boacaAncient Machine (JOI21_ancient_machine)C++17
5 / 100
52 ms8924 KiB
#include "Anna.h" #include <bits/stdc++.h> #include <vector> using namespace std; namespace { int dir; vector<int> getsir(vector<char> s) { int n=s.size(); int N=n; int zy=0,yx=0; for(int i=0;i+1<n;i++) { if(s[i]=='Z'&&s[i+1]=='Y') zy++; if(s[i]=='Y'&&s[i+1]=='X') yx++; } char cz='Z',cx='X'; if(zy>yx) { dir=1; reverse(s.begin(),s.end()); swap(cx,cz); } vector<int> rez; int lastz=-1; bool havex=0; for(int i=N-1;i>=0;i--) if(s[i]==cz) { lastz=i; break; } if(lastz==-1) { rez.push_back(0); return rez; } for(int i=0;i<N;i++) { if(s[i]==cx) { if(!havex) { rez.push_back(1); //rez.push_back(0); } else rez.push_back(0); havex=1; continue; } if(!havex) { rez.push_back(0); continue; } if(s[i]==cz&&(i==N||s[i+1]=='Y'||i==lastz)) rez.push_back(1); else rez.push_back(0); } return rez; } } void Anna(int N, std::vector<char> S) { dir=0; vector<int> sol,sir; sir=getsir(S); int nr1=0; for(int i=1;i<sir.size();i++) assert(sir[i]+sir[i-1]<2); bool havex=0; int lastz=-1; for(int i=N-1;i>=0;i--) if(S[i]=='Z') { lastz=i; break; } for(int i=0;i<N;i++) { if(S[i]=='X') { if(!havex) Send(1); else Send(0); havex=1; continue; } if(!havex) { Send(0); continue; } if(S[i]=='Z'&&(i==N||S[i+1]=='Y'||i==lastz)) Send(1); else Send(0); } }
#include "Bruno.h" #include <bits/stdc++.h> #include <vector> using namespace std; namespace { } void Bruno(int N, int L, std::vector<int> A) { vector<int> vals; int lft=-1; for(int i=0;i<A.size();i++) if(A[i]==1) { lft=i; break; } if(lft==-1) { for(int i=0;i<N;i++) Remove(i); return; } for(int i=0;i<lft;i++) Remove(i); for(int i=lft+1;i<A.size();i++) if(A[i]==1) { for(int j=i-1;A[j]==0;j--) Remove(j); Remove(i); } for(int i=L-1;A[i]==0;i--) Remove(i); Remove(lft); }

Compilation message (stderr)

Anna.cpp: In function 'void Anna(int, std::vector<char>)':
Anna.cpp:77:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   77 |     for(int i=1;i<sir.size();i++)
      |                 ~^~~~~~~~~~~
Anna.cpp:76:9: warning: unused variable 'nr1' [-Wunused-variable]
   76 |     int nr1=0;
      |         ^~~

Bruno.cpp: In function 'void Bruno(int, int, std::vector<int>)':
Bruno.cpp:17:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for(int i=0;i<A.size();i++)
      |                 ~^~~~~~~~~
Bruno.cpp:31:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i=lft+1;i<A.size();i++)
      |                     ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...