제출 #1345209

#제출 시각아이디문제언어결과실행 시간메모리
1345209thesentro나일강 (IOI24_nile)C++20
0 / 100
28 ms5872 KiB
#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long

std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A,
                                       std::vector<int> B, std::vector<int> E) {
	ll n = W.size();
	vector<array<ll,3>>vp;
	for (int i=0 ; i<n  ;i++)
		vp.push_back({W[i], A[i], B[i]});
	vp.push_back({INT_MIN, 67, 67});
	sort(vp.begin(), vp.end());
	vector<ll>res;
	for (int k=0 ; k<E.size() ; k++)
	{
		ll c = E[k];
		ll sum = 0;
		for (int i=1 ; i<=n ;i++) sum += vp[i][2];
		ll cnt = 1, mn = vp[1][1]-vp[1][2];
		for (int i=2 ; i<=n ;i++)
		{
			if (vp[i][0]-vp[i-1][0]<=c)
			{
				cnt++;
				mn = min(mn, vp[i][1]-vp[i][2]);
			}
			else
			{
				sum += mn;
				cnt = 1;
				mn = vp[i][1]-vp[i][2];
			}
		}
		sum += mn;
		res.push_back(sum);
	}
	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...