Submission #729085

#TimeUsernameProblemLanguageResultExecution timeMemory
7290851075508020060209tcBridges (APIO19_bridges)C++14
14 / 100
343 ms16024 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int n;int m;int Q; int ar[500005];int br[500005];int cr[500005]; int uf[500005]; int sz[500005]; int fin(int x){ if(uf[x]==x){return uf[x];} uf[x]=fin(uf[x]); return uf[x]; } void mrg(int a,int b){ int pa=fin(a);int pb=fin(b); if(pa==pb){return;} uf[pa]=pb; sz[pb]+=sz[pa]; } int qa[500005];int qw[500005]; int ans[500005]; signed main(){ cin>>n>>m; vector<pair<int,pair<int,int>>>es; for(int i=1;i<=m;i++){ cin>>ar[i]>>br[i]>>cr[i]; es.push_back({cr[i],{ar[i],br[i]} }); } sort(es.begin(),es.end()); cin>>Q; vector<pair<int,int>>qry; for(int i=1;i<=Q;i++){ int typ; cin>>typ>>qa[i]>>qw[i]; qry.push_back({qw[i],i}); } sort(qry.begin(),qry.end());reverse(qry.begin(),qry.end()); for(int i=1;i<=n;i++){ uf[i]=i;sz[i]=1;ans[i]=1; } int qit=0; for(int i=m-1;i>=0;i--){ while(qit<qry.size()&&es[i].first<qry[qit].first){ int id=qry[qit].second; ans[id]=sz[fin(qa[id])]; qit++; } mrg(es[i].second.first,es[i].second.second); } while(qit<qry.size()){ int id=qry[qit].second; ans[id]=sz[fin(qa[id])]; qit++; } for(int i=1;i<=Q;i++){ cout<<ans[i]<<endl; } }

Compilation message (stderr)

bridges.cpp: In function 'int main()':
bridges.cpp:53:14: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |     while(qit<qry.size()&&es[i].first<qry[qit].first){
      |           ~~~^~~~~~~~~~~
bridges.cpp:60:10: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 | while(qit<qry.size()){
      |       ~~~^~~~~~~~~~~
#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...