답안 #196866

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
196866 2020-01-17T10:40:29 Z awlintqaa 꿈 (IOI13_dreaming) C++14
18 / 100
1000 ms 12268 KB
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#include <bits/stdc++.h>
using namespace std;
#define sqr 340
#define mid (l+r)/2
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define lb lower_bound
#define ub upper_bound
#define ins insert
#define era erase
#define C continue
#define mem(dp,i) memset(dp,i,sizeof(dp))
#define mset multiset
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pi;
typedef pair<ll,ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<pi> vpi;
typedef vector<pll> vpll;
const ll mod=1000000007;//998244353;
const ll inf=1e18*4;
const ld pai=acos(-1);
#include "dreaming.h"
ll n,m,mx,id;
vpll v[100009];
vll ret;
ll done[100009];
void fill(ll node){
        done[node]=1;
        ret.pb(node);
        for(auto u:v[node]){
                if(done[u.fi])C;
                fill(u.fi);
        }
}
void MX(ll node,ll p,ll crnt){
        if(crnt>mx)mx=crnt,id=node;
        for(auto u:v[node]){
                if(u.fi==p)C;
                MX(u.fi,node,crnt+u.se);
        }
}
pi go(){
        pll ans={1e9,1e9};
        for(auto u:ret){
                mx=-1;
                MX(u,u,0);
                ans=min(ans,{mx,u});
        }
        return ans;
}
int travelTime(int N, int M, int L, int A[], int B[], int T[]) {
        n=N,m=M;
        for(int i=0;i<m;i++){
                int a=A[i],b=B[i],c=T[i];
                v[a].pb({b,c});
                v[b].pb({a,c});
        }
        vpll all;
        for(int i=0;i<n;i++){
                if(done[i])C;
                ret.clear();
                fill(i);
                all.pb(go());
        }
        sort(all.begin(),all.end());
        reverse(all.begin(),all.end());
        for(int i=1;i<(int)all.size();i++){
                ll a=all[0].se,b=all[i].se,c=L;
                v[a].pb({b,c});
                v[b].pb({a,c});
        }
        mx=id=-1;
        MX(0,0,0);
        mx=-1;
        MX(id,id,0);
        return mx;
}
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1060 ms 12268 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1060 ms 12268 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1060 ms 12268 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 50 ms 9328 KB Output is correct
2 Correct 50 ms 9504 KB Output is correct
3 Correct 52 ms 9324 KB Output is correct
4 Correct 50 ms 9296 KB Output is correct
5 Correct 55 ms 9324 KB Output is correct
6 Correct 59 ms 10704 KB Output is correct
7 Correct 52 ms 9584 KB Output is correct
8 Correct 52 ms 9168 KB Output is correct
9 Correct 52 ms 9196 KB Output is correct
10 Correct 48 ms 9580 KB Output is correct
11 Correct 4 ms 2680 KB Output is correct
12 Correct 31 ms 9828 KB Output is correct
13 Correct 31 ms 9700 KB Output is correct
14 Correct 31 ms 9828 KB Output is correct
15 Correct 31 ms 9700 KB Output is correct
16 Correct 34 ms 9696 KB Output is correct
17 Correct 35 ms 9724 KB Output is correct
18 Correct 32 ms 9704 KB Output is correct
19 Correct 31 ms 9700 KB Output is correct
20 Correct 4 ms 2652 KB Output is correct
21 Correct 4 ms 2680 KB Output is correct
22 Correct 5 ms 2936 KB Output is correct
23 Correct 32 ms 9700 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1060 ms 12268 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1060 ms 12268 KB Time limit exceeded
2 Halted 0 ms 0 KB -