Submission #328742

#TimeUsernameProblemLanguageResultExecution timeMemory
328742luciocfHiring (IOI09_hiring)C++14
26 / 100
1599 ms4204 KiB
#include <bits/stdc++.h>

#define ff first
#define ss second

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;

const int maxn = 5e5+10;

int n;
ll w;

pii a[maxn];

bool comp(pii a, pii b)
{
	return 1ll*a.ff*b.ss < 1ll*b.ff*a.ss;
}

int main(void)
{
	scanf("%d %lld", &n, &w);

	for (int i = 1; i <= n; i++)
		scanf("%d %d", &a[i].ff, &a[i].ss);

	sort(a+1, a+n+1, comp);

	int ans = 1;

	for (int i = 2; i <= n && a[i].ff <= w; i++)
	{
		int aux = 1;
		ll tot = a[i].ss;

		sort(a+1, a+i, [&] (pii a, pii b) {return a.ss < b.ss;});

		for (int j = 1; j < i; j++)
		{
			tot += 1ll*a[j].ss;

			if (1ll*tot*a[i].ff > 1ll*w*a[i].ss) break;

			++aux;
		}

		ans = max(ans, aux);
	}

	printf("%d\n", ans);

	for (int i = 1; i <= ans; i++)
		printf("1\n");
}

Compilation message (stderr)

hiring.cpp: In function 'int main()':
hiring.cpp:25:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   25 |  scanf("%d %lld", &n, &w);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~
hiring.cpp:28:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   28 |   scanf("%d %d", &a[i].ff, &a[i].ss);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...