Submission #413628

#TimeUsernameProblemLanguageResultExecution timeMemory
413628Ronin13Road Construction (JOI21_road_construction)C++14
5 / 100
10112 ms347872 KiB
#include<bits/stdc++.h> #define ll long long #define f first #define s second #define pii pair<int,int> #define pll pair<ll,ll> #define ull unsigned ll #define pb push_back #define epb emplace_back using namespace std; struct Point{ ll x,y; Point(ll x,ll y):x(x),y(y){} Point(){ } }; ll dist(Point A,Point B){ return abs(A.x-B.x)+abs(A.y-B.y); } bool check(vector<Point>a){ for(Point A:a){ if(A.y!=0)return false; } return true; } bool comp(Point A,Point B){ if(A.x==B.x)return A.y<B.y; return A.x<B.x; } void solve(){ int n;cin>>n; int k;cin>>k; vector<Point>a(n); for(int i=0;i<n;i++)cin>>a[i].x>>a[i].y; sort(a.begin(),a.end(),comp); if(check(a)){ multiset<ll>d; for(int i=1;i<n;i++){ if(d.size()>=k)break; for(int j=i;j<n;j++){ d.insert(dist(a[j],a[j-i])); } } int ind=0; for(ll to:d){ if(ind>=k)break; cout<<to<<"\n"; ind++; } return; } multiset<ll>d; for(int i=0;i<n;i++){ for(int j=0;j<i;j++){ d.insert(dist(a[i],a[j])); } } int ind=0; for(ll to:d){ if(ind>=k)break; cout<<to<<"\n"; ind++; } } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); }

Compilation message (stderr)

road_construction.cpp: In function 'void solve()':
road_construction.cpp:42:24: warning: comparison of integer expressions of different signedness: 'std::multiset<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   42 |             if(d.size()>=k)break;
      |                ~~~~~~~~^~~
#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...