제출 #1288795

#제출 시각아이디문제언어결과실행 시간메모리
1288795vneduCoreputer (IOI23_coreputer)C++17
100 / 100
1 ms404 KiB
#include "coreputer.h" #include<bits/stdc++.h> using namespace std; vector<int> malfunctioning_cores(int n) { vector<int> c; c.resize(n); int lo=0,hi=n-2,mid,cm=-1,gaugau; while(lo<=hi) { mid=(lo+hi)>>1; vector<int> v; for(int i=0;i<=mid;++i) v.push_back(i); int lst=run_diagnostic(v); if(lst!=1) cm=mid,lo=mid+1,gaugau=lst; else hi=mid-1; } ++cm; // cerr<<cm<<'\n'; if(cm==0) { c[0]=1; for(int i=1;i<n;++i) c[i]=0; return c; } c[cm]=1; int sum=1; for(int i=cm+1;i<n;++i) { vector<int> v; for(int j=0;j<cm;++j) v.push_back(j); v.push_back(i); if(run_diagnostic(v)==1) c[i]=1; else c[i]=0; sum+=c[i]; } sum=sum+gaugau; for(int i=1;i<cm;++i) { vector<int> v; for(int j=0;j<i;++j) v.push_back(j); for(int j=i+1;j<=cm;++j) v.push_back(j); if(run_diagnostic(v)==1) c[i]=0; else c[i]=1; sum-=c[i]; } c[0]=sum; // cerr<<"DSADSA\n"; // for(int i=0;i<n;++i) cerr<<c[i]<<' '; // cout<<"DSADSA\n"; return c; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...