Submission #80881

# Submission time Handle Problem Language Result Execution time Memory
80881 2018-10-22T17:05:54 Z MatheusLealV Hokej (COCI17_hokej) C++17
0 / 120
226 ms 35596 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;

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;
	}

	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 - resta) * qual;

			total += (m - resta) * 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<<subs.size() - 6<<"\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:106: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 3 ms 376 KB some player fainted
2 Failed 6 ms 896 KB some player fainted
3 Failed 12 ms 2044 KB some player fainted
4 Failed 2 ms 2044 KB some player fainted
5 Failed 6 ms 2044 KB some player fainted
6 Failed 3 ms 2044 KB some player fainted
7 Incorrect 6 ms 2044 KB Integer 0 violates the range [1, 1499]
8 Failed 47 ms 6952 KB some player fainted
9 Failed 226 ms 30816 KB some player fainted
10 Failed 217 ms 35596 KB some player fainted