Submission #218298

# Submission time Handle Problem Language Result Execution time Memory
218298 2020-04-01T22:43:20 Z alishahali1382 Birmingham (COCI20_birmingham) C++14
70 / 70
143 ms 12700 KB
#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

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 time Memory Grader output
1 Correct 8 ms 6528 KB Output is correct
2 Correct 8 ms 6528 KB Output is correct
3 Correct 8 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 6656 KB Output is correct
2 Correct 8 ms 6656 KB Output is correct
3 Correct 8 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 6656 KB Output is correct
2 Correct 8 ms 6656 KB Output is correct
3 Correct 8 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 6656 KB Output is correct
2 Correct 8 ms 6528 KB Output is correct
3 Correct 8 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 6656 KB Output is correct
2 Correct 8 ms 6656 KB Output is correct
3 Correct 9 ms 6656 KB Output is correct
4 Correct 8 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 6656 KB Output is correct
2 Correct 8 ms 6656 KB Output is correct
3 Correct 8 ms 6528 KB Output is correct
4 Correct 8 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 6656 KB Output is correct
2 Correct 8 ms 6656 KB Output is correct
3 Correct 8 ms 6528 KB Output is correct
4 Correct 9 ms 6656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 96 ms 12436 KB Output is correct
2 Correct 102 ms 12664 KB Output is correct
3 Correct 106 ms 12664 KB Output is correct
4 Correct 92 ms 12152 KB Output is correct
5 Correct 88 ms 12216 KB Output is correct
6 Correct 99 ms 12664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 116 ms 12664 KB Output is correct
2 Correct 116 ms 12536 KB Output is correct
3 Correct 121 ms 12536 KB Output is correct
4 Correct 104 ms 12700 KB Output is correct
5 Correct 115 ms 12536 KB Output is correct
6 Correct 97 ms 12280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 96 ms 12412 KB Output is correct
2 Correct 113 ms 12664 KB Output is correct
3 Correct 106 ms 12664 KB Output is correct
4 Correct 124 ms 12664 KB Output is correct
5 Correct 90 ms 12280 KB Output is correct
6 Correct 99 ms 12408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 92 ms 12280 KB Output is correct
2 Correct 97 ms 12536 KB Output is correct
3 Correct 104 ms 12536 KB Output is correct
4 Correct 92 ms 12408 KB Output is correct
5 Correct 91 ms 12152 KB Output is correct
6 Correct 101 ms 12280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 90 ms 12280 KB Output is correct
2 Correct 96 ms 12408 KB Output is correct
3 Correct 93 ms 12280 KB Output is correct
4 Correct 98 ms 12280 KB Output is correct
5 Correct 98 ms 12408 KB Output is correct
6 Correct 92 ms 12280 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 89 ms 12280 KB Output is correct
2 Correct 104 ms 12408 KB Output is correct
3 Correct 105 ms 12340 KB Output is correct
4 Correct 102 ms 12536 KB Output is correct
5 Correct 91 ms 12280 KB Output is correct
6 Correct 101 ms 12408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 102 ms 12280 KB Output is correct
2 Correct 89 ms 12152 KB Output is correct
3 Correct 143 ms 12664 KB Output is correct
4 Correct 96 ms 12280 KB Output is correct
5 Correct 95 ms 12408 KB Output is correct
6 Correct 108 ms 12664 KB Output is correct