제출 #1230713

#제출 시각아이디문제언어결과실행 시간메모리
1230713sleepntsheepTravelling Merchant (CCO21_day2problem1)C++20
0 / 25
82 ms15932 KiB
#include <stdio.h> #include <vector> #include <queue> #include <algorithm> using namespace std; const int N = 200050, M = 200050; int n, m,kil[M]; struct A {int a,b,r,p; A(int a_=0,int b_=0,int r_=0,int p_=0){a=a_,b=b_,r=r_,p=p_;}}; int main() { scanf("%d%d",&n,&m);int ii=0; vector<A>e(m); vector<vector<int>>gg(n); vector<int>deg(n),ans(n,-1); for(auto&[a,b,r,p]:e){ scanf("%d%d%d%d",&a,&b,&r,&p),--a,--b; gg[b].push_back(ii++); ++deg[a]; } queue<int>q; for(int i=0;i<n;++i){ if(!deg[i]){ q.push(i); } } while(q.size()){ int u=q.front();q.pop(); for(auto j:gg[u]){ int v=e[j].a; if(!--deg[v]) { q.push(v); kil[j]=1; } } } priority_queue<pair<int,int>>pq; for(int i=0;i<m;++i) if(!kil[i])pq.push(make_pair(e[i].r,i)); while(pq.size()){ auto[ru,j]=pq.top();pq.pop(); if(kil[j])continue; kil[j]=1; int a=e[j].a; if(!--deg[a]){ ans[a]=ru; for(auto k:gg[a]){ if(kil[k])continue; int b=e[k].a; if(e[k].r<ru-e[k].p){ pq.push(make_pair(ru-e[k].p,k)); } } } } for(auto x:ans)printf("%d ",x); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int main()':
Main.cpp:18:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |         scanf("%d%d",&n,&m);int ii=0;
      |         ~~~~~^~~~~~~~~~~~~~
Main.cpp:23:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |                 scanf("%d%d%d%d",&a,&b,&r,&p),--a,--b;
      |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...