Submission #80886

# Submission time Handle Problem Language Result Execution time Memory
80886 2018-10-22T17:18:20 Z MatheusLealV Hokej (COCI17_hokej) C++17
0 / 120
215 ms 39144 KB
#include <bits/stdc++.h>
#define N 500050
#define int long long
#define f first
#define s second
using namespace std;
typedef pair<int, int> pii;

struct T
{
	int f, s, id;

} v[N];

bool cmp(T A, T B)
{
	return A.f > B.f;
}

int n, m, limite[N];

int32_t main()
{
	ios::sync_with_stdio(false); cin.tie(0);

	cin>>m>>n;

	for(int i = 1; i <= n; i++)
	{
		cin>>v[i].f>>v[i].s;

		v[i].id = i;
	}

	for(int i = 1; i <= n; i++) limite[i] = 1000000000;

	sort(v + 1, v + n + 1, cmp);

	stack<T> fila;

	for(int i = n; i >= 1; i--) fila.push(v[i]);

	int total = 0, sub = 0, ans = 0, tempo = 0;

	vector<T> subs;

	int ant = -1;

	while(!fila.empty() and total < 6*m)
	{
		int qual = fila.top().f, resta = fila.top().s, id = fila.top().id;

		fila.pop();

		if(sub + resta > m)
		{
			ans += (m - sub) * qual;

			total += (m - sub) * qual;

			if(m - resta > 0) fila.push({qual, resta - (m - resta), id});

			sub = 0;

			subs.push_back({tempo, ant, id});

			ant = -1;

			tempo = 0;

			continue;
		}

		sub += resta;

		total += resta;

		ans += qual * resta;

		subs.push_back({tempo, ant, id});

		tempo += resta;

		if(sub == m)
		{
			sub = 0;

			ant = -1;

			tempo = 0;

			continue;
		}

		ant = id;
	}

	cout<<ans<<"\n";

	sort(subs.begin(), subs.end(), cmp);

	reverse(subs.begin(), subs.end());

	for(int i = 0; i < 6; i++) cout<<subs[i].id<<" \n"[i == 5];

	cout<<max(0LL, (int)subs.size() - 6LL)<<"\n";

	for(int i = 6; i < subs.size(); i++)
	{
		auto x = subs[i];

		cout<<x.f<<" "<<x.s<<" "<<x.id<<"\n";
	}
}

Compilation message

hokej.cpp: In function 'int32_t main()':
hokej.cpp:108:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 6; i < subs.size(); i++)
                 ~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Failed 2 ms 376 KB some player fainted
2 Failed 4 ms 760 KB some player fainted
3 Failed 12 ms 2268 KB some player fainted
4 Failed 2 ms 2268 KB some player fainted
5 Incorrect 6 ms 2268 KB Integer -195934 violates the range [1, 199999]
6 Failed 3 ms 2268 KB some player fainted
7 OK 5 ms 2268 KB Checker has crashed
8 Failed 45 ms 7440 KB some player fainted
9 Failed 211 ms 34404 KB some player fainted
10 Failed 215 ms 39144 KB some player fainted