# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
47563 | kuroni | 학교 설립 (IZhO13_school) | C++14 | 174 ms | 8152 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;
const int N = 300005;
struct SCity
{
int a, b;
} s[N];
int n;
unsigned int a, b;
long long pre[N], suf[N];
priority_queue<int, vector<int>, greater<int>> pq;
int main()
{
scanf("%d%u%u", &n, &a, &b);
for (int i = 1; i <= n; i++)
scanf("%d%d", &s[i].a, &s[i].b);
sort(s + 1, s + n + 1, [](const SCity &a, const SCity &b) { return a.a - a.b > b.a - b.b; });
for (int i = 1; i <= n; i++)
{
if (pq.size() < a)
{
pre[i] = pre[i - 1] + s[i].a;
pq.push(s[i].a);
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |