Submission #101439

#TimeUsernameProblemLanguageResultExecution timeMemory
101439rainyAdriatic (CEOI13_adriatic)C++14
50 / 100
2043 ms205804 KiB
#include<cstdio> #include<cstring> #include<algorithm> #include<utility> #include<vector> #include<queue> #define pb push_back using namespace std; typedef pair<int,int> ii; typedef vector<int>vi; int N,X,Y; ii loc[25005]; vi al[25005]; int apsp[5005][5005]; int main(){ scanf("%d",&N); for(int i=0;i<N;i++){ scanf("%d%d",&X,&Y); loc[i]=ii(X,Y); } for(int i=0;i<N;i++){ int x1=loc[i].first,y1=loc[i].second; for(int j=i+1;j<N;j++){ int x2=loc[j].first,y2=loc[j].second; if((x1<x2&&y1<y2)||(x1>x2&&y1>y2)){ al[i].pb(j);al[j].pb(i); } } } for(int i=0;i<N;i++){ queue<int>q;q.push(i); bool vis[25005]={false}; vis[i]=true; apsp[i][i]=0; while(!q.empty()){ int pp=q.front();q.pop(); int st=apsp[i][pp]; for(auto&p2:al[pp]){ if(!vis[p2]){ vis[p2]=true; apsp[i][p2]=st+1; q.push(p2); } } } } for(int i=0;i<N;i++){ int ans=0; for(int j=0;j<N;j++){ ans+=apsp[j][i]; } printf("%d\n",ans); } return 0; }

Compilation message (stderr)

adriatic.cpp: In function 'int main()':
adriatic.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
     ~~~~~^~~~~~~~~
adriatic.cpp:20:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&X,&Y);
         ~~~~~^~~~~~~~~~~~~~
#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...