제출 #426241

#제출 시각아이디문제언어결과실행 시간메모리
426241InternetPerson10Shortcut (IOI16_shortcut)C++17
23 / 100
2091 ms1740 KiB
#include "shortcut.h"
typedef long long ll;

using namespace std;

ll arr[1001][1001];

long long find_shortcut(int n, vector<int> l, vector<int> d, int c) {
    ll best = 999999999999999999;
    for(int i = 0; i < n; i++) {
        for(int j = i+1; j < n; j++) {
            if(j - i == 1) arr[i][j] = arr[j][i] = l[i];
            else arr[i][j] = arr[j][i] = arr[i][j-1] + l[j-1];
        }
    }
    for(int le = 0; le < n; le++) {
        for(int ri = le+1; ri < n; ri++) {
            ll biggest = -1;
            for(int i = 0; i < n; i++) {
                for(int j = i+1; j < n; j++) {
                    biggest = max(biggest, d[i] + d[j] + min(arr[i][j], arr[i][le] + c + arr[ri][j]));
                }
            }
            best = min(biggest, best);
        }
    }
    return best;
}
#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...