Submission #729089

#TimeUsernameProblemLanguageResultExecution timeMemory
7290891075508020060209tcBridges (APIO19_bridges)C++14
13 / 100
3058 ms23832 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]; } vector<int>e[500005]; int qa[500005];int qw[500005]; int ans; int vis[500005]; void dfs(int nw,int w,int id){ vis[nw]=id; for(int i=0;i<e[nw].size();i++){ int it=e[nw][i]; int v=ar[it]^br[it]^nw; if(vis[v]==id){continue;} if(cr[it]<w){continue;} dfs(v,w,id); } } signed main(){ cin>>n>>m; for(int i=1;i<=m;i++){ cin>>ar[i]>>br[i]>>cr[i]; e[ar[i]].push_back(i); e[br[i]].push_back(i); } cin>>Q; for(int i=1;i<=Q;i++){ int typ; cin>>typ>>qa[i]>>qw[i]; if(typ==1){ cr[qa[i]]=qw[i]; }else{ dfs(qa[i],qw[i],i); ans=0; for(int j=1;j<=n;j++){ if(vis[j]==i){ans++;} } cout<<ans<<endl; } } }

Compilation message (stderr)

bridges.cpp: In function 'void dfs(long long int, long long int, long long int)':
bridges.cpp:32:14: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 | for(int i=0;i<e[nw].size();i++){
      |             ~^~~~~~~~~~~~~
#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...