# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
43469 | PowerOfNinjaGo | 팀들 (IOI15_teams) | C++14 | 40 ms | 19376 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//Power Of Ninja Go
#include <bits/stdc++.h>
#ifdef atom
#include "grader.cpp"
#else
#include "teams.h"
#endif
using namespace std;
typedef long long ll; typedef pair<int, int> ii;
#define X first
#define Y second
#define vi vector<int>
#define vii vector< ii >
#define pb push_back
const int maxn = 1e5+5;
int n;
int a[maxn], b[maxn];
void init(int N, int A[], int B[])
{
n = N;
for(int i = 1; i<= N; i++) a[i] = A[i-1], b[i] = B[i-1];
}
int can(int M, int K[])
{
int sum = 0;
for(int i = 0; i< M; i++) sum += K[i];
if(sum> n) return 0;
vii vec;
for(int i = 1; i<= n; i++) vec.pb(ii(a[i], b[i]));
sort(vec.begin(), vec.end());
sort(K, K+M);
vi bag;
int ptr = 0;
for(int i = 0; i< M; i++)
{
int here = K[i];
while(ptr< n && vec[ptr].X<= here) bag.pb(vec[ptr++].Y);
sort(bag.begin(), bag.end());
//printf("quest %d\n", i);
//for(auto v : bag) printf("%d ", v);
//printf("\n");
int pos = lower_bound(bag.begin(), bag.end(), here)-bag.begin();
if(n-pos< here) return 0;
bag.erase(bag.begin()+pos, bag.begin()+pos+here-1);
}
return 1;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |