제출 #1367908

#제출 시각아이디문제언어결과실행 시간메모리
1367908FaresSTH나일강 (IOI24_nile)C++20
6 / 100
16 ms4144 KiB
#include"bits/stdc++.h"
using namespace std;
using ll=long long;
#define S second
#define F first
struct artifact{int w,a,b,c;};
vector<ll>calculate_costs(vector<int>w,vector<int>a,vector<int>b,vector<int>e){
	int n=w.size(),q=e.size();
	vector<artifact>v(n);
	ll mn=1e18;

	for(int i=0;i<n;i++)v[i]={w[i],a[i],b[i],a[i]-b[i]},mn=min(mn,0ll+v[i].c);
	ll sum=accumulate(b.begin(),b.end(),0ll);
	sort(v.begin(),v.end(),[](auto a,auto b){return a.w<b.w;});
	vector<ll>res;
	for(int qry:e){
		if(n%2==0)res.push_back(sum);
		else if(qry>=1)res.push_back(sum+mn);
		else{
			ll pr=b[0];
			vector<ll>dp(n);
			dp[0]=a[0];
			if(n>1)dp[1]=b[0]+b[1],pr+=b[1];
			for(int i=2;i<n;i++){
				pr+=b[i];
				if(n%2)dp[i]=pr;
				else dp[i]=min(0ll+a[i]+dp[i-1],dp[i-2]+b[i]+b[i-1]);
			}
			res.push_back(dp[n-1]);
		}
	}
	return res;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…