답안 #114365

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
114365 2019-06-01T05:23:31 Z faustaadp Shortcut (IOI16_shortcut) C++17
0 / 100
2000 ms 1152 KB
#include "shortcut.h"
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ll n,i,jar[550],tam[550],has,j,d[550][550],C,b[550];
vector<ll> v[550],w[550];
ll cek(ll aa,ll bb)
{
	ll ii,jj,kk,ma=0;
	v[aa].pb(bb);
	w[aa].pb(C);
	v[bb].pb(aa);
	w[bb].pb(C);
	for(ii=0;ii<n*2;ii++)
		for(jj=0;jj<n*2;jj++)
			if(ii!=jj)
				d[ii][jj]=1e18;
	for(ii=0;ii<n*2;ii++)
		for(jj=0;jj<v[ii].size();jj++)
			d[ii][v[ii][jj]]=min(d[ii][v[ii][jj]],w[ii][jj]);
	for(kk=0;kk<n*2;kk++)
		for(ii=0;ii<n*2;ii++)
			for(jj=0;jj<n*2;jj++)
				d[ii][jj]=min(d[ii][jj],d[ii][kk]+d[kk][jj]);
	for(ii=0;ii<n*2;ii++)
		for(jj=0;jj<n*2;jj++)
			ma=max(ma,d[ii][jj]);
	v[aa].pop_back();
	w[aa].pop_back();
	v[bb].pop_back();
	w[bb].pop_back();
	return ma;
	//cout<<aa<<" "<<bb<<" "<<ma<<" "<<cln<<"\n";
	/*
	ma=0;
	for(ii=0;ii<(n*2);ii++)
		d[ii]=1e18;
	d[cln]=0;
	pq.push(mp(0,cln));
	cln=0;
	while(!pq.empty())
	{
		ll u=pq.top().se;
		ll dis=-pq.top().fi;
		pq.pop();
		if(d[u]!=dis)
			continue;
		ma=max(ma,d[u]);
		if(ma==d[u])
			cln=u;
		ll ii;
		for(ii=0;ii<v[u].size();ii++)
		{
			if(d[v[u][ii]]>d[u]+w[u][ii])
			{
				d[v[u][ii]]=d[u]+w[u][ii];
				pq.push(mp(-d[v[u][ii]],v[u][ii]));
			}
		}
	}
	//cout<<aa<<" "<<bb<<" "<<ma<<"\n";
	//cout<<ma<<"\n";
	return ma;
	*/
}
long long find_shortcut(int N, std::vector<int> l, std::vector<int> d, int c)
{
	n=N;
	if(n>100)
	{
		n=n/0;
		assert(1);
	}
	C=c;
	for(i=0;i<(n-1);i++)
		jar[i]=l[i];
	for(i=0;i<n;i++)
		tam[i]=d[i];
	for(i=0;i<(n-1);i++)
	{
		v[i].pb(i+1);
		w[i].pb(jar[i]);
		v[i+1].pb(i);
		w[i+1].pb(jar[i]);
	}
	for(i=0;i<n;i++)
	{
		v[i].pb(i+n);
		w[i].pb(tam[i]);
		v[i+n].pb(i);
		w[i+n].pb(tam[i]);
	}
	has=1e18;
	for(i=0;i<n;i++)
		for(j=i+1;j<n;j++)
			has=min(has,cek(i,j));
    return has;
}

Compilation message

shortcut.cpp: In function 'll cek(ll, ll)':
shortcut.cpp:23:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(jj=0;jj<v[ii].size();jj++)
            ~~^~~~~~~~~~~~~
shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:75:6: warning: division by zero [-Wdiv-by-zero]
   n=n/0;
     ~^~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 384 KB n = 4, 80 is a correct answer
2 Correct 2 ms 512 KB n = 9, 110 is a correct answer
3 Correct 2 ms 384 KB n = 4, 21 is a correct answer
4 Correct 2 ms 384 KB n = 3, 4 is a correct answer
5 Correct 2 ms 384 KB n = 2, 62 is a correct answer
6 Correct 2 ms 384 KB n = 2, 3 is a correct answer
7 Correct 2 ms 384 KB n = 3, 29 is a correct answer
8 Correct 2 ms 384 KB n = 2, 3 is a correct answer
9 Correct 2 ms 384 KB n = 2, 3 is a correct answer
10 Correct 2 ms 384 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 428 KB n = 2, 3000000000 is a correct answer
12 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 384 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 384 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 384 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 384 KB n = 5, 4000000000 is a correct answer
17 Correct 2 ms 384 KB n = 10, 1000000343 is a correct answer
18 Correct 2 ms 512 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 512 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 384 KB n = 5, 12 is a correct answer
21 Correct 2 ms 384 KB n = 5, 25 is a correct answer
22 Correct 2 ms 384 KB n = 2, 122 is a correct answer
23 Correct 2 ms 384 KB n = 10, 117 is a correct answer
24 Correct 2 ms 512 KB n = 10, 336 is a correct answer
25 Correct 2 ms 512 KB n = 10, 438 is a correct answer
26 Correct 3 ms 512 KB n = 10, 206 is a correct answer
27 Correct 2 ms 384 KB n = 10, 636 is a correct answer
28 Correct 2 ms 384 KB n = 4, 2399 is a correct answer
29 Correct 2 ms 384 KB n = 10, 10992 is a correct answer
30 Correct 3 ms 512 KB n = 10, 3112 is a correct answer
31 Execution timed out 2029 ms 1152 KB Time limit exceeded
32 Halted 0 ms 0 KB -