Submission #532418

#TimeUsernameProblemLanguageResultExecution timeMemory
532418Icebear16Fountain Parks (IOI21_parks)C++17
0 / 100
1 ms332 KiB
//#include "parks.h" //#include <bits/stdc++.h> //int construct_roads(std::vector<int> x, std::vector<int> y) { // if (x.size() == 1) { // build({}, {}, {}, {}); // return 1; // }else{ // std::vector<int> u, v, a, b; // std::vector<std::pair<int,int>> A; // for(int i=0;i<x.size();i++){ // A.push_back(std::make_pair((x[i]+2*y[i]),i)); // } // sort(A.begin(),A.end()); // int r=x.size()-1; // int m=y[A[0].second]; // int w=y[A[r].second]; // int e=((w-m)/2)+1; // std::vector<int> B(e,-1); // std::vector<int> C(e,-1); // for(int i=0;i<x.size();i++){ // if(x[i]==2){ // B[(y[i]-m)/2]=i; // }else{ // C[(y[i]-m)/2]=i; // } // } // bool flag=true; // for(int i=0;i<e;i++){ // if(B[i]==-1 && C[i]==-1){ // flag=false; // break; // } // } // if(flag==true){ // for(int i=0;i<e;i++){ // if(B[i]>=0 && C[i]>=0){ // u.push_back(B[i]); // v.push_back(C[i]); // a.push_back(3); // b.push_back((i*2)+m+1); // } // if(B[i]>=0 && B[i+1]>=0 && (i+1)!=e){ // u.push_back(B[i]); // v.push_back(B[i+1]); // a.push_back(1); // b.push_back((i*2)+m+1); // } // if(C[i]>=0 && C[i+1]>=0 && (i+1)!=e){ // u.push_back(C[i]); // v.push_back(C[i+1]); // a.push_back(5); // b.push_back((i*2)+m+1); // } // } // build(u, v, a, b); // return 1; // }else{ // return 0; // } // } //} ////4 ////2 0 ////2 2 ////2 4 ////2 6 // ////8 ////4 8 ////4 10 ////2 6 ////2 10 ////2 4 ////2 8 ////4 4 ////4 2 #include "parks.h" #include <bits/stdc++.h> int construct_roads(std::vector<int> x, std::vector<int> y) { if (x.size() == 1) { build({}, {}, {}, {}); return 1; }else{ std::vector<int> u, v, a, b; std::vector<std::pair<int,int>> A; for(int i=0;i<x.size();i++){ A.push_back(std::make_pair((x[i]+2*y[i]),i)); } sort(A.begin(),A.end()); int r=x.size()-1; int m=y[A[0].second]; int w=y[A[r].second]; int e=((w-m)/2)+1; std::vector<int> B(e,-1); std::vector<int> C(e,-1); for(int i=0;i<x.size();i++){ if(x[i]==2){ B[(y[i]-m)/2]=i; }else{ C[(y[i]-m)/2]=i; } } bool flag=true; for(int i=0;i<e;i++){ if(B[i]==-1 && C[i]==-1){ flag=false; break; } } if(flag==true){ if(B[0]>=0 && C[0]>=0){ u.push_back(B[0]); v.push_back(C[0]); a.push_back(3); b.push_back(m+1); } for(int i=1;i<e;i++){ if(B[i]>=0 && C[i]>=0){ u.push_back(B[i]); v.push_back(C[i]); a.push_back(3); b.push_back((i*2)+m+1); } if(B[i]>=0 && B[i-1]>=0){ u.push_back(B[i]); v.push_back(B[i-1]); a.push_back(1); b.push_back((i*2)+m+1); } if(C[i]>=0 && C[i-1]>=0){ u.push_back(C[i]); v.push_back(C[i-1]); a.push_back(5); b.push_back((i*2)+m+1); } } build(u, v, a, b); return 1; }else{ return 0; } } } //4 //2 0 //2 2 //2 4 //2 6 //8 //4 8 //4 10 //2 6 //2 10 //2 4 //2 8 //4 4 //4 2

Compilation message (stderr)

parks.cpp: In function 'int construct_roads(std::vector<int>, std::vector<int>)':
parks.cpp:89:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   89 |      for(int i=0;i<x.size();i++){
      |                  ~^~~~~~~~~
parks.cpp:99:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   99 |   for(int i=0;i<x.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...