제출 #1256908

#제출 시각아이디문제언어결과실행 시간메모리
1256908nerrrmin나일강 (IOI24_nile)C++20
13 / 100
20 ms4936 KiB
#include "nile.h"
#define pb push_back
#include<bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 10;
int n, q;
long long w[maxn], a[maxn], b[maxn];
std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A,
                                       std::vector<int> B, std::vector<int> E)
{
    n = W.size();
    for (int i = 0; i < n; ++ i)
        w[i] = W[i];
    for (int i = 0; i < n; ++ i)
        a[i] = A[i];
    long long sum = 0;
    long long best = A[0] - B[0];
    int passed = 0;
    long long realbest = A[0] - B[0];
    for (int i = 0; i < n; ++ i)
    {
        b[i] = B[i];
        sum += b[i];
        realbest = min(realbest, a[i] - b[i]);
        if(passed % 2 == 0)best = min(best, a[i] - b[i]);
            passed ++;
    }

    q = (int)E.size();
    vector < long long > res;
    for (auto d: E)
    {
        if(d == 1)res.pb(sum + (n % 2) * best);
        else res.pb(sum + (n%2) * realbest);
    }
    return res;
}
#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...