Submission #1233245

#TimeUsernameProblemLanguageResultExecution timeMemory
1233245MuhammadSaramClosing Time (IOI23_closing)C++20
0 / 100
114 ms24688 KiB
#include "closing.h"
#include <bits/stdc++.h>

using namespace std;

#define ll long long

int max_score(int n, int x, int y, ll k,vector<int> u, vector<int> v, vector<int> w)
{
	int pre[n]={};
	for (int i=0;i<n-1;i++)
		pre[i+1]=pre[i]+w[i];
	set<pair<int,int>> se;
	map<int,int> sc;
	for (int i=0;i<n;i++)
	{
		int d=abs(pre[i]-pre[x]),d1=abs(pre[i]-pre[y]);
		if (d>d1) swap(d,d1);
		se.insert({d,i});
		sc[i]=d1-d;
	}
	int ans=0;
	while (se.size())
	{
		pair<int,int> p=*se.begin();se.erase(se.begin());
		if (k<p.first) break;
		k-=p.first,ans++;
		if (sc.count(p.second))
			se.insert({sc[p.second],p.second}),sc.erase(p.second);
	}
	return ans;
	
    return 0;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...