Submission #218298

#TimeUsernameProblemLanguageResultExecution timeMemory
218298alishahali1382Birmingham (COCI20_birmingham)C++14
70 / 70
143 ms12700 KiB
#include <bits/stdc++.h> #pragma GCC optimize ("O2") #pragma GCC optimize ("unroll-loops") //#pragma GCC optimize("no-stack-protector,fast-math") using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<pii, int> piii; typedef pair<ll, ll> pll; #define debug(x) cerr<<#x<<'='<<(x)<<endl; #define debugp(x) cerr<<#x<<"= {"<<(x.first)<<", "<<(x.second)<<"}"<<endl; #define debug2(x, y) cerr<<"{"<<#x<<", "<<#y<<"} = {"<<(x)<<", "<<(y)<<"}"<<endl; #define debugv(v) {cerr<<#v<<" : ";for (auto x:v) cerr<<x<<' ';cerr<<endl;} #define all(x) x.begin(), x.end() #define pb push_back #define kill(x) return cout<<x<<'\n', 0; const ld eps=1e-7; const int inf=1000000010; const ll INF=10000000000000010LL; const int mod = 1000000007; const int MAXN = 200010, LOG=20; int n, m, q, k, u, v, x, y, t, a, b, ans; int dist[MAXN]; int shit[MAXN]; vector<int> G[MAXN]; queue<int> Q; int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); memset(dist, 31, sizeof(dist)); cin>>n>>m>>q>>k; while (q--){ cin>>x; dist[x]=0; Q.push(x); } while (m--){ cin>>u>>v; G[u].pb(v); G[v].pb(u); } while (Q.size()){ int v=Q.front(); Q.pop(); for (int u:G[v]) if (dist[v]+1<dist[u]){ Q.push(u); dist[u]=dist[v]+1; } } ll x=1; for (ll i=1; x<MAXN && i<10000; i++){ for (ll j=x; j<=min(x+i*k, MAXN-1ll); j++) shit[j]=i; x+=i*k; } //for (int i=0; i<10; i++) debug2(i, shit[i]) for (int i=1; i<=n; i++) cout<<shit[dist[i]]<<' ';cout<<'\n'; return 0; }

Compilation message (stderr)

birmingham.cpp: In function 'int main()':
birmingham.cpp:63:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
  for (int i=1; i<=n; i++) cout<<shit[dist[i]]<<' ';cout<<'\n';
  ^~~
birmingham.cpp:63:52: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for (int i=1; i<=n; i++) cout<<shit[dist[i]]<<' ';cout<<'\n';
                                                    ^~~~
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...