Submission #419479

#TimeUsernameProblemLanguageResultExecution timeMemory
419479alishahali1382Ancient Machine (JOI21_ancient_machine)C++17
40 / 100
108 ms10384 KiB
#include "Anna.h" #include <bits/stdc++.h> #pragma GCC optimize ("O2,unroll-loops") //#pragma GCC optimize("no-stack-protector,fast-math") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<pii, int> piii; typedef pair<ll, ll> pll; #define debug(x) cerr<<#x<<'='<<(x)<<endl; #define debugp(x) cerr<<#x<<"= {"<<(x.first)<<", "<<(x.second)<<"}"<<endl; #define debug2(x, y) cerr<<"{"<<#x<<", "<<#y<<"} = {"<<(x)<<", "<<(y)<<"}"<<endl; #define debugv(v) {cerr<<#v<<" : ";for (auto x:v) cerr<<x<<' ';cerr<<endl;} #define all(x) x.begin(), x.end() #define pb push_back #define kill(x) return cout<<x<<'\n', 0; const int inf=1000000010; const ll INF=1000000000000001000LL; const int mod=1000000007; const int MAXN=100010, LOG=20; bool A[MAXN]; void Anna(int n, vector<char> S){ vector<int> vec; for (int i=0; i<n; i++) vec.pb(S[i]-'X'); while (vec.size()%5) vec.pb(0); for (int i=0; i<vec.size(); i+=5){ int x=0; for (int j=i; j<i+5; j++) x=x*3+vec[j]; for (int j=0; j<8; j++) Send((x>>j)&1); } }
#include "Bruno.h" #include <bits/stdc++.h> #pragma GCC optimize ("O2,unroll-loops") //#pragma GCC optimize("no-stack-protector,fast-math") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<pii, int> piii; typedef pair<ll, ll> pll; #define debug(x) cerr<<#x<<'='<<(x)<<endl; #define debugp(x) cerr<<#x<<"= {"<<(x.first)<<", "<<(x.second)<<"}"<<endl; #define debug2(x, y) cerr<<"{"<<#x<<", "<<#y<<"} = {"<<(x)<<", "<<(y)<<"}"<<endl; #define debugv(v) {cerr<<#v<<" : ";for (auto x:v) cerr<<x<<' ';cerr<<endl;} #define all(x) x.begin(), x.end() #define pb push_back #define kill(x) return cout<<x<<'\n', 0; const int inf=1000000010; const ll INF=1000000000000001000LL; const int mod=1000000007; const int MAXN=100010, LOG=20; int n, m, k, u, v, x, y, t, a, b, ans; char S[MAXN]; int stk[MAXN], sz; bool mark[MAXN]; inline void Rem(int x){ // debug(x) // if (mark[x]) debug("fuck") Remove(x); mark[x]=1; } void Bruno(int n, int m, vector<int> A){ vector<int> vec; for (int i=0; i<m; i+=8){ int x=0; for (int j=0; j<8; j++) x+=(A[i+j]<<j); vector<int> shit; for (int j=0; j<5; j++) shit.pb(x%3), x/=3; for (int j=4; ~j; j--) vec.pb(shit[j]); } for (int i=0; i<n; i++) S[i]='X'+vec[i]; int last=-1; for (int i=0; i<n; i++) if (S[i]=='Z') last=i; if (last==-1){ for (int i=0; i<n; i++) Rem(i); return ; } for (int i=0; i<last; i++){ if (S[i]=='X'){ if (!sz || S[stk[sz]]=='Y') stk[++sz]=i; else Rem(i); } else if (S[i]=='Y'){ if (sz && S[stk[sz]]=='X') stk[++sz]=i; else Rem(i); } else{ if (sz && S[stk[sz]]=='Y'){ Rem(stk[sz]); sz--; } Rem(i); } } while (sz){ Rem(stk[sz]); sz--; } for (int i=0; i<n; i++) if (!mark[i]) Remove(i); }

Compilation message (stderr)

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