제출 #1314143

#제출 시각아이디문제언어결과실행 시간메모리
1314143activedeltorreShortcut (IOI16_shortcut)C++20
31 / 100
2092 ms408 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) 메시지

shortcut.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
shortcut_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...