제출 #1254752

#제출 시각아이디문제언어결과실행 시간메모리
1254752testaccount나일강 (IOI24_nile)C++20
17 / 100
2095 ms5200 KiB
#include "nile.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

#define w(i) get<0>(i)
#define a(i) get<1>(i)
#define b(i) get<2>(i)

int n;

vector<ll> calculate_costs(vector<int> W, vector<int> A,
                                       vector<int> B, vector<int> e) {
	n = A.size();

	vector<tuple<int, int, int>> k; 
	for (int i = 0; i < n; i++)
		k.push_back({W[i], A[i], B[i]});

	sort(k.begin(), k.end());

	vector<ll> res;
	for (auto q : e){
		ll curr = 0;
		int i = 0;
		while (i < n){
			if (i + 1 < n and abs(w(k[i]) - w(k[i + 1])) <= q)
				curr += (ll)b(k[i]) + (ll)b(k[i + 1]), i += 2;
			else
				curr += (ll)a(k[i]), i++;
		}
		res.push_back(curr);
	}

	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...