| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1314143 | activedeltorre | Shortcut (IOI16_shortcut) | C++20 | 2092 ms | 408 KiB |
#include "shortcut.h"
using namespace std;
#include <vector>
#include <iostream>
long long inf=1e17;
long long spar[100005];
long long dist(int a,int b,int c,int d,int add)
{
long long minim=inf;
minim=min(minim,spar[b]-spar[a]);
minim=min(minim,abs(spar[b]-spar[d])+abs(spar[a]-spar[c])+add);
return minim;
}
long long find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c)
{
for(int i=2; i<=n; i++)
{
spar[i]=spar[i-1]+l[i-2];
}
long long best=0;
for(int z=1; z<=n; z++)
{
for(int z2=z+1; z2<=n; z2++)
{
best=max(best,spar[z2]-spar[z]+d[z-1]+d[z2-1]);
}
}
for(int i=1; i<=n; i++)
{
for(int j=i+1; j<=n; j++)
{
long long worst=0;
if(c<spar[j]-spar[i])
{
for(int z=1; z<=n; z++)
{
for(int z2=z+1; z2<=n; z2++)
{
worst=max(worst,dist(z,z2,i,j,c)+d[z-1]+d[z2-1]);
}
}
best=min(best,worst);
}
}
}
return best;
}컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
