Submission #432246

#TimeUsernameProblemLanguageResultExecution timeMemory
432246jeqchoTeams (IOI15_teams)C++17
34 / 100
4061 ms12816 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef vector<pii> vpi;

#define FOR(i,a,b) for(int i=a;i<b;++i)
#define F0R(i,b) FOR(i,0,b)
#define ROF(i,a,b) for(int i=b-1;i>=a;--i)
#define R0F(i,b) ROF(i,0,b)
#define trav(a,x) for(auto&a:x)
#define all(x) begin(x),end(x)
#define fi first
#define se second
#define pb push_back
#define sz(x) int(x.size())

int const N=5e5+3;
int A[N],B[N];
int n;
pii stu[N];
int const Q=2e5+3;
int used[Q];

// subtask 1,2

void init(int n1, int A1[], int B1[]) {
	n=n1;
	F0R(i,n)
	{
		A[i]=A1[i];
		B[i]=B1[i];
		stu[i]={A[i],B[i]};
	}
	sort(stu,stu+n);
}

int t=0;
int can(int m, int K[]) {
	t++;
	sort(K,K+m);
	R0F(i,m)
	{
		bool ok=0;
		int cnt=0;
		R0F(sta,K[i]+1)
		{
			int idex=lower_bound(stu,stu+n,pii{sta,-1})-stu;
			int edex=upper_bound(stu,stu+n,pii{sta,1e9})-stu;
			FOR(k,idex,edex)
			{
				if(used[k]==t)continue;
				if(stu[k].se>=K[i])
				{
					++cnt;
					used[k]=t;
					if(cnt==K[i])
					{
						ok=1;
						break;
					}
				}
			}
			if(ok)break;
		}
		if(!ok)return 0;
	}
	return 1;
}

Compilation message (stderr)

teams.cpp: In function 'int can(int, int*)':
teams.cpp:52:47: warning: conversion from 'long int' to 'int' may change value [-Wconversion]
   52 |    int idex=lower_bound(stu,stu+n,pii{sta,-1})-stu;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
teams.cpp:53:48: warning: conversion from 'long int' to 'int' may change value [-Wconversion]
   53 |    int edex=upper_bound(stu,stu+n,pii{sta,1e9})-stu;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...