Submission #1021276

#TimeUsernameProblemLanguageResultExecution timeMemory
1021276vjudge1Split the Attractions (IOI19_split)C++17
18 / 100
54 ms15360 KiB
#include "split.h" #include <bits/stdc++.h> #define ll long long #define mid ((l+r)>>1) #define pii pair<int,int> #define fi first #define se second #define rep(a,b,c) for(int a=b; a<c; a++) #define repr(a,b,c) for(int a=b-1; a>c-1; a--) #define pb push_back #define repa(a,b) for(auto a:b) using namespace std; const int lim=2e5+5; vector<int> adj[lim]; vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { vector<int> res(n,0), res2(n,0); queue<int> Q; rep(i,0,p.size()){ adj[p[i]].pb(q[i]); adj[q[i]].pb(p[i]); } int d[3]={a,b,c}, u; bool vis[n]{}; repr(j,3,0){ rep(i,0,n){ if(!vis[i]){ Q.push(i); while(Q.size()){ u=Q.front(); Q.pop(); if(vis[u]) continue; vis[u]=true; res[u]=j+1; d[j]--; if(!d[j]) break; repa(v,adj[u]) if(!vis[v]) Q.push(v); } while(Q.size()) Q.pop(); } if(!d[j]) break; } } return res; }

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:8:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 | #define rep(a,b,c) for(int a=b; a<c; a++)
......
   21 |  rep(i,0,p.size()){
      |      ~~~~~~~~~~~~                 
split.cpp:21:2: note: in expansion of macro 'rep'
   21 |  rep(i,0,p.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...