# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
602097 |
2022-07-22T14:52:24 Z |
A_D |
Shortcut (IOI16_shortcut) |
C++14 |
|
1 ms |
380 KB |
#include "shortcut.h"
#include <bits/stdc++.h>
using namespace std;
const int N=3e3+100;
long long vis[N][N];
vector<long long> dd;
vector<pair<long long,int>> g[N];
long long cc;
int nn;
void dfs(int u,int v)
{
for(auto x:g[u]){
if(x.first+vis[u][v]<vis[x.second][v]){
vis[x.second][v]=vis[u][v]+x.first;
dfs(x.second,v);
}
}
}
long long con(int l,int r)
{
g[l].push_back({cc,r});
g[r].push_back({cc,l});
for(int i=0;i<nn;i++){
for(int j=0;j<nn;j++){
vis[i][j]=1e18;
}
}
for(int i=0;i<nn;i++){
vis[i][i]=0;
dfs(i,i);
}
long long ret=0;
for(int i=0;i<nn;i++){
for(int j=0;j<nn;j++){
ret=max(ret,vis[i][j]+dd[i]+dd[j]);
}
}
g[l].pop_back();
g[r].pop_back();
return ret;
}
long long find_shortcut(int n,vector<int> l,vector<int> d,int c)
{
if(n>10)return 0;
nn=n;
cc=c;
for(auto x:d)dd.push_back(x);
for(int i=0;i<n;i++){
g[i].clear();
}
/*
for(int i=0;i<n;i++){
g[i].push_back({d[i],i+n});
g[i+n].push_back({d[i],i});
}
*/
for(int i=0;i<n-1;i++){
g[i].push_back({l[i],i+1});
g[i+1].push_back({l[i],i});
}
long long ans=1e18;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
long long me=con(i,j);
ans=min(ans,me);
}
}
return ans;
}
/*
4 10
10 20 20
0 40 0 30
4 1
2 2 2
1 10 10 1
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
340 KB |
n = 4, 80 is a correct answer |
2 |
Correct |
1 ms |
380 KB |
n = 9, 110 is a correct answer |
3 |
Correct |
1 ms |
340 KB |
n = 4, 21 is a correct answer |
4 |
Correct |
0 ms |
380 KB |
n = 3, 4 is a correct answer |
5 |
Incorrect |
1 ms |
340 KB |
n = 2, incorrect answer: jury 62 vs contestant 72 |
6 |
Halted |
0 ms |
0 KB |
- |