10032022-02-22 10:28:59sjKövek (100 pont)cpp11Hibás válasz 27/10065ms13008 KiB
#include<bits/stdc++.h>
using namespace std;
//#define DBG

multiset<int> kovek;
int n;

int main() {
	cin>>n;
	int sum=0;
	vector<int> v(n);
	for(int i=0;i<n;i++) {
		cin>>v[i];
		sum+=v[i];
	}
	for(int e : v) {
		kovek.insert(e-sum/n);
		#ifdef DBG
		cerr<<e-sum/n<<' ';
		#endif
	}
	int depth=0;
	kovek.erase(0);
	while(!kovek.empty()) {
		#ifdef DBG
		cerr<<'\n'<<depth<<'\n';
		#endif
		auto mx=prev(kovek.end());
		#ifdef DBG
		cerr<<*mx<<'\n';
		#endif
		auto nearest=kovek.lower_bound(-(*mx));
		#ifdef DBG
		cerr<<*nearest<<'\n';
		#endif
		if(nearest==kovek.end()) break;
		int nv=(*nearest)+*mx;
		kovek.erase(nearest,next(nearest));
		kovek.erase(mx);
		kovek.insert(nv);
		kovek.erase(0);
		depth++;
		#ifdef DBG
		for(const int& e : kovek) cerr<<e<<' ';
		cerr<<'\n';
		#endif
	}
	cout<<depth<<endl;
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base27/100
1Elfogadva0/02ms1776 KiB
2Hibás válasz0/065ms12116 KiB
3Elfogadva5/51ms2236 KiB
4Elfogadva5/51ms2244 KiB
5Hibás válasz0/51ms2252 KiB
6Hibás válasz0/51ms2244 KiB
7Elfogadva5/51ms2256 KiB
8Elfogadva5/51ms2260 KiB
9Elfogadva7/71ms2264 KiB
10Hibás válasz0/71ms2272 KiB
11Hibás válasz0/81ms2280 KiB
12Hibás válasz0/81ms2296 KiB
13Hibás válasz0/82ms2560 KiB
14Hibás válasz0/86ms3308 KiB
15Hibás válasz0/820ms5936 KiB
16Hibás válasz0/854ms11500 KiB
17Hibás válasz0/864ms13008 KiB