Submission #1022432

#TimeUsernameProblemLanguageResultExecution timeMemory
1022432edogawa_somethingFountain Parks (IOI21_parks)C++17
5 / 100
82 ms30780 KiB
#include "parks.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<ll> vii; typedef pair<ll,ll> pii; #define pb push_back #define F first #define S second #define all(v) v.begin(),v.end() const ll M=2e5+10; vii v[M]; map<ll,bool>vis[M]; vector<pair<pair<int,int>,int>>segs; bool contained(pair<pair<int,int>,int> x,pair<pair<int,int>,int>y){ if(x.F.F>y.F.F&&x.F.S<y.F.S) return 1; return 0; } int construct_roads(std::vector<int> x, std::vector<int> y) { vector<pair<int,int>>f,m,b; for(int i=0;i<x.size();i++){ if(x[i]==2){ f.pb({y[i],i}); } else b.pb({y[i],i}); } sort(all(f)),sort(all(m)),sort(all(b)); /*if(f.size()&&(f.back().F-f.front().F)/2!=f.size()-1) return 0; if(b.size()&&(b.back().F-b.front().F)/2!=b.size()-1) return 0; if(m.size()&&(m.back().F-m.front().F)/2!=m.size()-1) return 0; if(m.size()&&f.size()&&(m.back().F<f.front().F||m.front().F>f.back().F)) return 0; if(b.size()&&m.size()&&(m.back().F<b.front().F||m.front().F>b.back().F)) return 0;*/ vector<int>e1,e2,ax,ay; for(int i=0;i<ll(f.size())-1;i++){ if(f[i+1].F-f[i].F!=2) return 0; e1.pb(f[i].S); e2.pb(f[i+1].S); ax.pb(1); ay.pb(f[i].F+1); } for(int i=0;i<ll(b.size())-1;i++){ if(b[i+1].F-b[i].F!=2) return 0; e1.pb(b[i].S); e2.pb(b[i+1].S); ax.pb(5); ay.pb(b[i].F+1); } if(b.empty()||f.empty()){ build(e1,e2,ax,ay); return 1; } for(int i=2;i<=400000;i+=2){ if(i>=f.front().F&&i<=f.back().F&&i>=b.front().F&&i<=b.back().F){ for(auto it:f){ for(auto itt:b){ if(it.F==i&&itt.F==i){ e1.pb(it.S),e2.pb(itt.S); ax.pb(3),ay.pb(it.F+1); build(e1,e2,ax,ay); return 1; } } } } } return 0; }

Compilation message (stderr)

parks.cpp: In function 'int construct_roads(std::vector<int>, std::vector<int>)':
parks.cpp:22:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     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...