Submission #990921

#TimeUsernameProblemLanguageResultExecution timeMemory
990921MarwenElarbiBroken Device (JOI17_broken_device)C++17
0 / 100
24 ms2724 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; void Anna( int N, long long X, int K, int P[] ){ int tab[N]; memset(tab,0,sizeof tab); for (int i = 0; i < K; ++i) { tab[P[i]]=-1; } int convert[60]; long long a[60]; a[0]=1; for (int i = 1; i < 60; ++i) { a[i]=a[i-1]*2; } long long y=59; //cout << 1ll*1000000000000000000 - a[59]<<endl; while(y>=0){ //cout <<X<<" "<<a[y]<<endl; if(X>=a[y]){ X-=a[y]; convert[y]=1; }else convert[y]=0; y--; }//cout <<endl; int lst=0; for (int i = 0; i < N; i+=2) { if(convert[lst]==1){ if (tab[i]!=-1&&tab[i+1]!=-1) { tab[i]=1; tab[i+1]=1; lst++; } }else{ if (tab[i]!=-1&&tab[i+1]!=-1) { tab[i]=0; tab[i+1]=1; lst++; }else if (tab[i]!=-1) { tab[i]=1; tab[i+1]=0; lst++; }else if(tab[i+1]!=-1){ tab[i]=0; tab[i+1]=1; lst++; } } } for (int i = 0; i < N; ++i) { if(tab[i]==1) Set(i,1); else Set(i,0); } }
#include "Brunolib.h" #include<bits/stdc++.h> using namespace std; long long Bruno( int N, int A[] ){ int lst=0; long long x=0; long long a[60]; a[0]=1; for (int i = 1; i < 60; ++i) { a[i]=a[i-1]*2; } for (int i = 0; i < N; i+=2) { if(lst>60) break; if(A[i]==1&&A[i+1]==1){ x+=a[lst]; lst++; }else if(A[i]==1||A[i+1]==1){ lst++; } } //cout <<x<<endl; return x; }
#Verdict Execution timeMemoryGrader output
Fetching results...