Submission #771598

# Submission time Handle Problem Language Result Execution time Memory
771598 2023-07-03T07:12:29 Z ttamx Mechanical Doll (IOI18_doll) C++14
37 / 100
88 ms 11324 KB
#include "doll.h"
#include<bits/stdc++.h>
 
using namespace std;
 
void create_circuit(int m,vector<int> a) {
	int n = a.size();
	vector<int> c(m+1);
	vector<int> lg(n+1);
	for(int i=2;i<=n;i++)lg[i]=lg[i/2]+1;
	vector<int> x,y;
	auto add=[&](int u,int v){
		x.emplace_back(u);
		y.emplace_back(v);
		return -x.size();
	};
	a.emplace_back(0);
	int sz=n+1;
	int lv=lg[sz-1]+1;
	vector<int> res;
	int cnt=1<<(lv-1);
	int tar=-(x.size()+(1<<lv)-1);
	int st=(1<<lv)-sz+1;
	vector<int> pos(1<<lv);
	for(int j=0;j<1<<lv;j++){
		for(int k=0;k<lv;k++)if((j>>k)&1)pos[j]+=1<<(lv-k-1);
		pos[j]++;
	}
	for(int k=0;k<cnt;k++){
		int u=pos[k*2],v=pos[k*2+1];
		res.emplace_back(add(u<st?tar:a[u-st],v<st?tar:a[v-st]));
	}
	while(res.size()>1){
		vector<int> tmp;
		for(int i=0;i<res.size();i+=2)tmp.emplace_back(add(res[i],res[i+1]));
		res=tmp;
	}
	for(auto &x:c)x=tar;
	answer(c,x,y);
}

Compilation message

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:35:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |   for(int i=0;i<res.size();i+=2)tmp.emplace_back(add(res[i],res[i+1]));
      |               ~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 212 KB Output is partially correct
2 Partially correct 68 ms 10556 KB Output is partially correct
3 Partially correct 64 ms 10556 KB Output is partially correct
4 Partially correct 68 ms 11120 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 212 KB Output is partially correct
2 Partially correct 68 ms 10556 KB Output is partially correct
3 Partially correct 64 ms 10556 KB Output is partially correct
4 Partially correct 68 ms 11120 KB Output is partially correct
5 Partially correct 78 ms 11264 KB Output is partially correct
6 Partially correct 75 ms 11276 KB Output is partially correct
7 Partially correct 74 ms 11324 KB Output is partially correct
8 Partially correct 87 ms 11216 KB Output is partially correct
9 Partially correct 63 ms 10616 KB Output is partially correct
10 Partially correct 84 ms 11268 KB Output is partially correct
11 Partially correct 70 ms 11212 KB Output is partially correct
12 Partially correct 63 ms 10620 KB Output is partially correct
13 Partially correct 69 ms 10696 KB Output is partially correct
14 Partially correct 68 ms 10712 KB Output is partially correct
15 Partially correct 67 ms 10692 KB Output is partially correct
16 Partially correct 2 ms 692 KB Output is partially correct
17 Correct 39 ms 6652 KB Output is correct
18 Partially correct 64 ms 10616 KB Output is partially correct
19 Partially correct 65 ms 10616 KB Output is partially correct
20 Partially correct 71 ms 11236 KB Output is partially correct
21 Partially correct 69 ms 11160 KB Output is partially correct
22 Partially correct 88 ms 11216 KB Output is partially correct