제출 #530772

#제출 시각아이디문제언어결과실행 시간메모리
530772A_D다리 (APIO19_bridges)C++14
0 / 100
82 ms12240 KiB
#include <bits/stdc++.h> #define int long long #define ii pair<int,int> #define F first #define S second using namespace std; const int N=1e5+100; int p[N]; int si[N]; int ans[N]; ii a[N]; vector<pair<int,ii>> vec; int find(int u) { if(u==p[u])return u; return p[u]=find(p[u]); } void solve() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ p[i]=i; si[i]=1; } while(m--){ int a,b,c; scanf("%lld",&a); scanf("%lld",&b); scanf("%lld",&c); vec.push_back({c,{a,b}}); } sort(vec.begin(),vec.end()); reverse(vec.begin(),vec.end()); cin>>m; for(int i=1;i<=m;i++){ int t; scanf("%lld",&t); a[i].S=i; scanf("%lld",&a[i].S); scanf("%lld",&a[i].F); } vec.push_back({0,{0,0}}); sort(a+1,a+m+1); int idx=0; for(int i=1;i<=m;i++){ while(vec[idx].F<a[i].F){ int aa=find(vec[i].S.F); int bb=find(vec[i].S.S); if(p[aa]!=p[bb]){ p[bb]=aa; si[aa]+=si[bb]; } } ans[a[i].S]=si[find(a[i].F)]; } for(int i=1;i<=m;i++)printf("%lld ",ans[i]); } main() { int t=1; // cin>>t; while(t--){ solve(); } }

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

bridges.cpp:62:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   62 | main()
      | ^~~~
bridges.cpp: In function 'void solve()':
bridges.cpp:31:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |         scanf("%lld",&a);
      |         ~~~~~^~~~~~~~~~~
bridges.cpp:32:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |         scanf("%lld",&b);
      |         ~~~~~^~~~~~~~~~~
bridges.cpp:33:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         scanf("%lld",&c);
      |         ~~~~~^~~~~~~~~~~
bridges.cpp:41:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |         scanf("%lld",&t);
      |         ~~~~~^~~~~~~~~~~
bridges.cpp:43:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |         scanf("%lld",&a[i].S);
      |         ~~~~~^~~~~~~~~~~~~~~~
bridges.cpp:44:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |         scanf("%lld",&a[i].F);
      |         ~~~~~^~~~~~~~~~~~~~~~
#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...