Submission #628163

#TimeUsernameProblemLanguageResultExecution timeMemory
628163andrei_boacaAdriatic (CEOI13_adriatic)C++14
50 / 100
2062 ms262144 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n; vector<int> muchii[250005]; struct point { int x,y; } v[250005]; ll dist[250005]; void bfs(int start) { for(int i=1;i<=n;i++) dist[i]=1e9; dist[start]=0; queue<int> coada; coada.push(start); while(!coada.empty()) { int nod=coada.front(); coada.pop(); for(int i:muchii[nod]) if(dist[i]>dist[nod]+1) { dist[i]=dist[nod]+1; coada.push(i); } } } 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...