제출 #328747

#제출 시각아이디문제언어결과실행 시간메모리
328747luciocfHiring (IOI09_hiring)C++14
45 / 100
256 ms5600 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 a.ff*b.ss < 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 = 0; priority_queue<int> fila; ll soma = 0; for (int i = 1; i <= n; i++) { if (a[i].ff > w) continue; soma += 1ll*a[i].ss; while (1ll*a[i].ff*soma > 1ll*w*a[i].ss) { soma -= 1ll*fila.top(); fila.pop(); } fila.push(a[i].ss); ans = max(ans, (int)fila.size()); } printf("%d\n", ans); for (int i = 1; i <= ans; i++) printf("1\n"); }

컴파일 시 표준 에러 (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...