Submission #936824

# Submission time Handle Problem Language Result Execution time Memory
936824 2024-03-02T18:59:18 Z PagodePaiva Teams (IOI15_teams) C++17
0 / 100
4000 ms 12648 KB
#include "teams.h"
#include<bits/stdc++.h>

using namespace std;

int n;
vector <pair <int, int>> v;

void init(int N, int A[], int B[]) {
	n = N;
	for(int i = 0;i < n;i++){
		v.push_back({A[i], B[i]});
	}
	return;
}

int can(int M, int K[]) {
	vector <int> k;
	int m = M;
	for(int i = 0;i < m;i++){
		k.push_back(K[i]);
	}
	sort(k.begin(), k.end());
	vector <pair <int, int>> conc;
	for(int i = 0;i < n;i++){
		if(v[i].second < k[0] or v[i].first > k[m-1]) continue;
		int l = 0, r = m-1;
		while(r-l > 1){
			int mid = (l+r)/2;
			if(k[mid] > v[i].second){
				r = mid-1;
			}
			else l = mid;
		}
		if(k[r] <= v[i].second) l = r;
		else r = l;
		int a = l;
		l = 0; r = m-1;
		while(r - l > 1){
			int mid = (l+r)/2;
			if(k[mid] < v[i].first){
				l = mid+1;
			}
			else r = mid;
		}
		if(v[i].first <= k[l]) r = l;
		else l = r;
		int b = l;
		conc.push_back({k[b], k[a]});
		// cout << a << ' ' << b << endl;
	}
	sort(conc.begin(), conc.end());
	int l = conc.size();
	l--;
	reverse(k.begin(), k.end());
	for(auto x : k){
		int cnt = x;
		while(cnt > 0){
			if(l < 0) return 0;
			// cout << v[l].first << ' ' << v[l].second << ' ' << x << endl;
			if(conc[l].first <= x and x <= conc[l].second){
				cnt--;
			}
			l--;
		}
	}
	return 1;
}

Compilation message

teams.cpp: In function 'int can(int, int*)':
teams.cpp:53:19: warning: conversion from 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   53 |  int l = conc.size();
      |          ~~~~~~~~~^~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Incorrect 1 ms 348 KB Output isn't correct
14 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 2260 KB Output is correct
2 Correct 6 ms 2160 KB Output is correct
3 Correct 7 ms 2768 KB Output is correct
4 Correct 9 ms 3280 KB Output is correct
5 Correct 20 ms 3536 KB Output is correct
6 Correct 19 ms 3536 KB Output is correct
7 Correct 21 ms 3512 KB Output is correct
8 Correct 21 ms 3416 KB Output is correct
9 Correct 12 ms 4044 KB Output is correct
10 Correct 11 ms 4300 KB Output is correct
11 Correct 9 ms 4024 KB Output is correct
12 Correct 9 ms 4048 KB Output is correct
13 Correct 12 ms 4304 KB Output is correct
14 Correct 8 ms 4304 KB Output is correct
15 Incorrect 8 ms 3316 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 60 ms 2276 KB Output is correct
2 Correct 76 ms 2332 KB Output is correct
3 Execution timed out 4045 ms 3580 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 223 ms 9920 KB Output is correct
2 Correct 261 ms 9408 KB Output is correct
3 Execution timed out 4038 ms 12648 KB Time limit exceeded
4 Halted 0 ms 0 KB -