Submission #887404

# Submission time Handle Problem Language Result Execution time Memory
887404 2023-12-14T12:25:31 Z jay_jayjay Coreputer (IOI23_coreputer) C++17
100 / 100
1 ms 600 KB
#include <bits/stdc++.h>
using namespace std;

int run_diagnostic(vector<int> T);

// begin my code
// vector<int> U {0,0,0,1,0,0,1,0,1,0,1};
// int run_diagnostic(vector<int> T) {
//         int s=0;
//         for(auto x:T)s+=U[x];
//         int cnt=0;for(auto x:U)cnt+=x;
        
//         int o = cnt-s;
//         return (s>o) - (o>s);
// }
// end my code

vector<int> malfunctioning_cores(int N) {
        vector<int> res(N);
        int l=0, r=N-1;
        // find the first i such that run[0...i] is >=
        while(l<r) {
                int m = l+(r-l)/2;
                
                vector<int> t;
                for(int i=0;i<=m;i++)t.push_back(i);
                
                if((res[m]=run_diagnostic(t))>=0) r=m;
                else l=m+1;
        }
        vector<int> on(N);
        on[l] = 1;
        
        if(l == N-1)
                return on;
        
        for(int i=0;i<l;i++) {
                // try this one
                vector<int> t;
                for(int j=0;j<=l;j++)
                        if(i!=j)
                                t.push_back(j);
                
                if(run_diagnostic(t)<0) on[i]=1;
        }
        
        for(int i=l+1;i<N-1;i++) {
                vector<int> t;
                for(int j=0;j<l;j++) t.push_back(j);
                t.push_back(i);
                
                if(run_diagnostic(t)>=0) on[i]=1;
        }
        
        if(res[l] == 0) {
                int ls=0,rs=0;
                for(int i=0;i<=l;i++)ls+=on[i];
                for(int i=l+1;i<N;i++)rs+=on[i];
                if(ls>rs) on[N-1]=1;
        }
        else {
                int ls=0,rs=0;
                for(int i=0;i<l;i++)ls+=on[i];
                for(int i=l+1;i<N;i++)rs+=on[i];
                if(ls>rs) on[N-1]=1;
        }
        return on;
}

// int main() {
        // auto v=malfunctioning_cores(U.size());
        // for(auto x:v)cout<<x<<endl;
// }
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 0 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 0 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 0 ms 344 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 0 ms 344 KB Output is correct
20 Correct 0 ms 344 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 1 ms 344 KB Output is correct
23 Correct 1 ms 344 KB Output is correct
24 Correct 0 ms 344 KB Output is correct
25 Correct 0 ms 344 KB Output is correct
26 Correct 1 ms 344 KB Output is correct
27 Correct 0 ms 344 KB Output is correct
28 Correct 0 ms 600 KB Output is correct
29 Correct 1 ms 344 KB Output is correct
30 Correct 0 ms 600 KB Output is correct
31 Correct 1 ms 344 KB Output is correct
32 Correct 0 ms 416 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 0 ms 600 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 0 ms 344 KB Output is correct
37 Correct 0 ms 344 KB Output is correct
38 Correct 0 ms 600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 0 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 0 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 0 ms 344 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 0 ms 344 KB Output is correct
20 Correct 0 ms 344 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 0 ms 344 KB Output is correct
23 Correct 0 ms 344 KB Output is correct
24 Correct 0 ms 344 KB Output is correct
25 Correct 1 ms 344 KB Output is correct
26 Correct 1 ms 344 KB Output is correct
27 Correct 0 ms 344 KB Output is correct
28 Correct 0 ms 344 KB Output is correct
29 Correct 1 ms 344 KB Output is correct
30 Correct 0 ms 344 KB Output is correct
31 Correct 0 ms 600 KB Output is correct
32 Correct 1 ms 344 KB Output is correct
33 Correct 0 ms 600 KB Output is correct
34 Correct 1 ms 344 KB Output is correct
35 Correct 0 ms 416 KB Output is correct
36 Correct 0 ms 344 KB Output is correct
37 Correct 0 ms 600 KB Output is correct
38 Correct 1 ms 344 KB Output is correct
39 Correct 0 ms 344 KB Output is correct
40 Correct 0 ms 344 KB Output is correct
41 Correct 0 ms 600 KB Output is correct
42 Correct 0 ms 344 KB Output is correct
43 Correct 0 ms 344 KB Output is correct
44 Correct 0 ms 404 KB Output is correct
45 Correct 0 ms 344 KB Output is correct
46 Correct 0 ms 344 KB Output is correct
47 Correct 0 ms 344 KB Output is correct
48 Correct 0 ms 344 KB Output is correct
49 Correct 0 ms 344 KB Output is correct
50 Correct 0 ms 344 KB Output is correct
51 Correct 0 ms 344 KB Output is correct
52 Correct 0 ms 344 KB Output is correct
53 Correct 0 ms 344 KB Output is correct
54 Correct 0 ms 344 KB Output is correct
55 Correct 0 ms 344 KB Output is correct
56 Correct 0 ms 344 KB Output is correct
57 Correct 0 ms 344 KB Output is correct
58 Correct 0 ms 344 KB Output is correct
59 Correct 0 ms 344 KB Output is correct
60 Correct 0 ms 344 KB Output is correct
61 Correct 0 ms 344 KB Output is correct
62 Correct 0 ms 344 KB Output is correct
63 Correct 0 ms 344 KB Output is correct
64 Correct 0 ms 344 KB Output is correct
65 Correct 0 ms 344 KB Output is correct
66 Correct 0 ms 344 KB Output is correct
67 Correct 0 ms 344 KB Output is correct
68 Correct 0 ms 344 KB Output is correct
69 Correct 0 ms 344 KB Output is correct
70 Correct 0 ms 344 KB Output is correct
71 Correct 0 ms 344 KB Output is correct
72 Correct 0 ms 344 KB Output is correct
73 Correct 0 ms 344 KB Output is correct
74 Correct 0 ms 344 KB Output is correct
75 Correct 0 ms 344 KB Output is correct
76 Correct 0 ms 344 KB Output is correct
77 Correct 1 ms 344 KB Output is correct
78 Correct 0 ms 344 KB Output is correct
79 Correct 0 ms 344 KB Output is correct
80 Correct 0 ms 344 KB Output is correct
81 Correct 0 ms 344 KB Output is correct
82 Correct 0 ms 344 KB Output is correct