# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
224404 | 2020-04-17T19:01:38 Z | PedroBigMan | Birmingham (COCI20_birmingham) | C++14 | 209 ms | 28660 KB |
#include <iostream> #include <vector> #include <cmath> #include <algorithm> #include <string> #include <map> #include <set> #include <queue> #include <deque> using namespace std; typedef long long int ll; typedef unsigned long long int ull; typedef long double ld; #define REP(i,a,b) for(ll i=a; i<b; i++) #define pb push_back #define mp make_pair #define pl pair<ll,ll> #define ff first #define ss second #define INF 100000000000000000LL ll insig; #define In(vecBRO, LENBRO) REP(IBRO,0,LENBRO) {cin>>insig; vecBRO.pb(insig);} void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;} ll sqr(ll x) { ll hi=x; ll lo=0LL; while(hi>lo) { ll mid=(lo+hi+1)/2LL; if(mid*mid<=x) {lo=mid;} else {hi=mid-1LL;} } return hi; } class Graph { public: ll N; vector<vector<ll> > adj; vector<bool> visited; //for DFS/BFS Graph(vector<vector<ll> > ad) { adj=ad; N=adj.size(); REP(i,0,N) {visited.pb(false);} } vector<ll> BFS(ll s) { vector<ll> distance; REP(i,0,N) {distance.pb(INF);} REP(i,0,N) {visited[i]=false;} distance[s]=0; visited[s]=true; deque<ll> d; d.pb(s); ll cur; while(!d.empty()) { cur=d.front(); d.pop_front(); REP(i,0,adj[cur].size()) { if(!visited[adj[cur][i]]) { visited[adj[cur][i]]=true; d.pb(adj[cur][i]); distance[adj[cur][i]]=distance[cur]+1; } } } return distance; } }; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll N,M,Q,K; cin>>N>>M>>Q>>K; vector<ll> q; In(q,Q); REP(i,0,Q) {q[i]--;} vector<ll> xx; vector<vector<ll> > adj; REP(i,0,N) {adj.pb(xx);} pl cur; REP(i,0,M) { cin>>cur.ff>>cur.ss; cur.ff--; cur.ss--; adj[cur.ff].pb(cur.ss); adj[cur.ss].pb(cur.ff); } REP(i,1,q.size()) { REP(j,0,adj[q[i]].size()) {adj[q[0]].pb(adj[q[i]][j]);} } Graph G(adj); vector<ll> d=G.BFS(q[0]); vector<ll> ans; REP(i,0,N) {ans.pb(0LL);} REP(i,0,N) { ans[i]=(ll) ceil((double) (double) (-(double) K+ (double) sqrt((double) (K*K+8*K*d[i])))/(double) (2LL*K)); } REP(i,0,q.size()) {ans[q[i]]=0LL;} REP(i,0,N) {cout<<ans[i]<<" ";} cout<<endl; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 4 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 4 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 126 ms | 20836 KB | Output is correct |
2 | Correct | 146 ms | 21784 KB | Output is correct |
3 | Correct | 174 ms | 26764 KB | Output is correct |
4 | Correct | 167 ms | 20196 KB | Output is correct |
5 | Correct | 165 ms | 20580 KB | Output is correct |
6 | Correct | 178 ms | 28644 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 156 ms | 21876 KB | Output is correct |
2 | Correct | 142 ms | 21348 KB | Output is correct |
3 | Correct | 163 ms | 24944 KB | Output is correct |
4 | Correct | 140 ms | 22092 KB | Output is correct |
5 | Correct | 138 ms | 21604 KB | Output is correct |
6 | Correct | 128 ms | 26452 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 136 ms | 21124 KB | Output is correct |
2 | Correct | 145 ms | 21860 KB | Output is correct |
3 | Correct | 209 ms | 26084 KB | Output is correct |
4 | Correct | 183 ms | 22112 KB | Output is correct |
5 | Correct | 130 ms | 20836 KB | Output is correct |
6 | Correct | 138 ms | 26476 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 117 ms | 20188 KB | Output is correct |
2 | Correct | 133 ms | 21600 KB | Output is correct |
3 | Correct | 191 ms | 24936 KB | Output is correct |
4 | Correct | 128 ms | 21088 KB | Output is correct |
5 | Correct | 118 ms | 20320 KB | Output is correct |
6 | Correct | 139 ms | 26232 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 158 ms | 20196 KB | Output is correct |
2 | Correct | 129 ms | 20836 KB | Output is correct |
3 | Correct | 164 ms | 23268 KB | Output is correct |
4 | Correct | 136 ms | 20832 KB | Output is correct |
5 | Correct | 136 ms | 21088 KB | Output is correct |
6 | Correct | 134 ms | 25832 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 123 ms | 20336 KB | Output is correct |
2 | Correct | 132 ms | 20960 KB | Output is correct |
3 | Correct | 140 ms | 24508 KB | Output is correct |
4 | Correct | 158 ms | 21600 KB | Output is correct |
5 | Correct | 135 ms | 20828 KB | Output is correct |
6 | Correct | 136 ms | 26600 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 158 ms | 20576 KB | Output is correct |
2 | Correct | 127 ms | 20064 KB | Output is correct |
3 | Correct | 189 ms | 25836 KB | Output is correct |
4 | Correct | 160 ms | 20808 KB | Output is correct |
5 | Correct | 135 ms | 21216 KB | Output is correct |
6 | Correct | 163 ms | 28660 KB | Output is correct |