제출 #926192

#제출 시각아이디문제언어결과실행 시간메모리
926192amirhoseinfar1385Broken Device (JOI17_broken_device)C++17
100 / 100
30 ms2872 KiB
#include "Annalib.h" #include<bits/stdc++.h> using namespace std; void Anna( int N, long long x, int k, int p[] ){ vector<int>wtf(150); for(int i=0;i<k;i++){ wtf[p[i]]=1; } for(int i=0;i<N;i+=3){ if(wtf[i]+wtf[i+1]+wtf[i+2]>=2){ Set(i,0); Set(i+1,0); Set(i+2,0); continue; } if(wtf[i]+wtf[i+1]+wtf[i+2]==0){ long long res=0; res=(x&1); x>>=1; res+=((x&1)<<1); x>>=1; if(res==0){ Set(i,0); Set(i+1,1); Set(i+2,1); }else if(res==1){ Set(i,1); Set(i+1,0); Set(i+2,0); }else if(res==2){ Set(i,1); Set(i+1,1); Set(i+2,1); }else{ Set(i,1); Set(i+1,1); Set(i+2,0); } continue; } if(x&1){ if(wtf[i+2]==0){ Set(i,0); Set(i+1,0); Set(i+2,1); x>>=1; } else{ x>>=1; if(x&1){ Set(i,1); Set(i+1,1); Set(i+2,0); } else{ Set(i,1); Set(i+1,0); Set(i+2,0); } x>>=1; } } else{ if(wtf[i+1]==1){ Set(i,1); Set(i+1,0); Set(i+2,1); } else{ Set(i,0); Set(i+1,1); Set(i+2,0); } x>>=1; } } }
#include "Brunolib.h" #include<bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ long long res=0; vector<long long>all(150); for(int i=0;i<N;i++){ // cout<<i<<" "<<A[i]<<endl; all[i]=A[i]; } long long now=0; for(int i=0;i<N;i+=3){ long long fake=all[i+2]+all[i+1]*2+all[i]*4; // cout<<"magemishe: "<<fake<<endl; if(fake==0){ continue; } if(fake==1){ res+=(1ll<<now); now++; } if(fake==2){ now++; } if(fake==3){ now+=2; continue; } if(fake==4){ res+=(1ll<<now); now+=2; } if(fake==5){ now++; } if(fake==6){ res+=(1ll<<now)*3; now+=2; } if(fake==7){ res+=(1ll<<now)*2; now+=2; } } // cout<<"wtf: "<<res<<endl; return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...