답안 #196862

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
196862 2020-01-17T10:17:12 Z awlintqaa 꿈 (IOI13_dreaming) C++14
0 / 100
1000 ms 10488 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"
int n,m,mx,id;
vpi v[100009];
vi ret;
int done[100009];
void fill(int node){
        done[node]=1;
        ret.pb(node);
        for(auto u:v[node]){
                if(done[u.fi])C;
                fill(u.fi);
        }
}
void MX(int node,int p,int 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(){
        pi 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});
        }
        vpi all;
        for(int i=0;i<n;i++){
                if(done[i])C;
                ret.clear();
                fill(i);
                all.pb(go());
        }
        cout<<"fwef"<<endl;
        sort(all.begin(),all.end());
        reverse(all.begin(),all.end());
        for(int i=1;i<all.size();i++){
                int 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;
}

Compilation message

dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:74:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=1;i<all.size();i++){
                     ~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 10488 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 10488 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 10488 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 46 ms 7740 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 10488 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 10488 KB Time limit exceeded
2 Halted 0 ms 0 KB -