# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1156059 | nickolasarapidis | Nile (IOI24_nile) | C++20 | 0 ms | 0 KiB |
#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
long N;
vector<ll> solve1(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
ll ans = 0;
for(long i = 0; i < N; i++){
ans += B[i];
}
if(N%2 == 0){
return ans;
}
else{
long m = 1000000007;
long x;
for(long i = 0; i < N; i++){
if(A[i] < m){
m = A[i];
x = i;
}
}
ans -= B[x];
ans += A[x];
return ans;
}
}
vector<ll> solve2(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
return (ll)0;
}
vector<ll> solve3(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
return (ll)0;
}
vector<ll> solve(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
return (ll)0;
}
vector<ll> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
N = W.size();
bool sub1 = true, sub2 = true, sub3 = true;
for(long i = 0; i < N; i++){
if(W[i] != 1) sub1 = false;
if(W[i] != i + 1) sub2 = false;
if(A[i] != 2 or B[i] != 1) sub3 = false;
}
if(sub1) return solve1(W, A, B, E);
else if(sub2) return solve2(W, A, B, E);
else if(sub3) return solve3(W, A, B, E);
else return solve(W, A, B, E);
}