Submission #628184

#TimeUsernameProblemLanguageResultExecution timeMemory
628184andrei_boacaAdriatic (CEOI13_adriatic)C++14
50 / 100
2091 ms262144 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; int n; vector<int> muchii[250005]; struct point { int x,y; } v[250005]; ll dist[250005]; priority_queue<pii,vector<pii>,greater<pii>> coada; void bfs(int start) { for(int i=1;i<=n;i++) dist[i]=1e9; dist[start]=0; coada.push({0,start}); while(!coada.empty()) { int nod=coada.top().second; coada.pop(); for(int i:muchii[nod]) if(dist[i]>dist[nod]+1) { dist[i]=dist[nod]+1; coada.push({dist[i],i}); } } } int sol[250005]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>v[i].x>>v[i].y; for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { if(v[i].x<v[j].x&&v[i].y<v[j].y) { muchii[i].push_back(j); muchii[j].push_back(i); } else if(v[i].x>v[j].x&&v[i].y>v[j].y) { muchii[i].push_back(j); muchii[j].push_back(i); } } } for(int i=1;i<=n;i++) { bfs(i); ll suma=0; for(int j=1;j<=n;j++) suma+=dist[j]; cout<<suma<<'\n'; } return 0; }
#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...