#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |