Submission #140485

# Submission time Handle Problem Language Result Execution time Memory
140485 2019-08-03T08:30:12 Z bazsi700 Shortcut (IOI16_shortcut) C++14
0 / 100
2 ms 376 KB
#include <bits/stdc++.h>
#include "shortcut.h"
using namespace std;

#define MOD 1000000007
#define ll long long int
#define vi vector<int>
#define vii vector< vector<int> >
#define PI 3.1415926535897932384626433832795
#define INF 9223372036854775807LL
#define hashA 1257958787
#define hashB 1539500609
#define endl "\n"

ll pref[10005];

ll getdist(ll a, ll b) {
	if(a > b) {
		swap(a,b);
	}
	return pref[b]-pref[a];
}

ll find_shortcut(int n, vector<int> l, vector<int> d, int c) {
	ll ans = 0;
	ll currdist = d[0];
	for(int i = 1; i < n; i++) {
		pref[i] = pref[i-1]+l[i-1];
	}/*
	for(int i = 1; i < n; i++) {
		currdist+= l[i-1];
		ans = max(ans,currdist+d[i]);
		currdist = max(currdist,(ll)d[i]);
	}*/
	ll mn = INF;
	for(int b1 = 0; b1 < n; b1++) {
		for(int b2 = b1+1; b2 < n; b2++) {
			ll mx = 0;
			ll worstnormal = d[0];
			ll worstshort = d[0]+getdist(0,b1);
			for(int v = 1; v < n; v++) {
				worstnormal+= l[v-1];
				ll dist = worstnormal+d[v];
				dist = min(dist,worstshort+c+getdist(v,b2)+d[v]);
				worstshort = max(worstshort,getdist(v,b1)+d[v]);
				worstnormal = max(worstnormal,(ll)d[v]);
				mx = max(mx,dist);
			}
			mn = min(mn,mx);
		}
	}
	return mn;
}

Compilation message

shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:25:5: warning: unused variable 'ans' [-Wunused-variable]
  ll ans = 0;
     ^~~
shortcut.cpp:26:5: warning: unused variable 'currdist' [-Wunused-variable]
  ll currdist = d[0];
     ^~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Incorrect 2 ms 376 KB n = 9, incorrect answer: jury 110 vs contestant 130
3 Halted 0 ms 0 KB -