Submission #152908

#TimeUsernameProblemLanguageResultExecution timeMemory
152908SegtreeMechanical Doll (IOI18_doll)C++14
15 / 100
125 ms14760 KiB
#include "doll.h" #include<iostream> #include<algorithm> #include<vector> using namespace std; typedef long long ll; #define mod 1000000007 ll tap(ll x){ ll t=2; while(t<x)t*=2; return t; } vector<int> c,x,y; void func(ll cur,vector<int> to){ if(to.size()==1){ c[cur]=to[0]; return; } ll n=tap(to.size()); //cout<<"---"<<n<<endl; //n=4; int base=x.size(); c[cur]=-base-1; for(int i=0;i<n-1;i++){ x.push_back(-base-1); y.push_back(-base-1); } for(int i=1;i<n/2;i++){ x[base+i-1]=-base-(i*2); y[base+i-1]=-base-(i*2+1); } ll p=0; for(int i=0;i<n/2;i++){ for(int j=0;j<2;j++){ if(p<to.size()-1){ if(j==0)x[base+i+n/2-1]=to[p]; if(j==1)y[base+i+n/2-1]=to[p]; p++; } } } y[base+n-2]=to[p]; } vector<int> too[100010]; void create_circuit(int M,vector<int> A){ ll bef=0; for(int i=0;i<A.size();i++){ too[bef].push_back(A[i]); bef=A[i]; } too[bef].push_back(0); for(int i=0;i<=M;i++){ c.push_back(0); if(too[i].size()>0){ func(i,too[i]); } } /* cout<<"C:"; for(int i=0;i<c.size();i++)cout<<c[i]<<" "; cout<<endl; cout<<"X:"<<endl; for(int i=0;i<x.size();i++)cout<<x[i]<<" "<<y[i]<<endl;*/ answer(c,x,y); } /* int main(){ vector<int> A(4); for(int i=0;i<4;i++)cin>>A[i]; create_circuit(4,A); return 0; }*/

Compilation message (stderr)

doll.cpp: In function 'void func(ll, std::vector<int>)':
doll.cpp:34:10: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |      if(p<to.size()-1){
      |         ~^~~~~~~~~~~~
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:47:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for(int i=0;i<A.size();i++){
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...