Submission #262139

#TimeUsernameProblemLanguageResultExecution timeMemory
262139amiratouTeams (IOI15_teams)C++14
0 / 100
4082 ms339628 KiB
#include "teams.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define ll long long int n,a[100005],b[100005]; vector<int> vec[100005]; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); void init(int N, int A[], int B[]) { n=N; for (int i = 0; i < n; ++i) { a[i]=A[i]; b[i]=B[i]; } for (int i = 1; i <= n; ++i) for (int j = 0; j < n; ++j) if(a[j]<=i && i<=b[j])vec[i].pb(j); } int can(int M, int K[]) { sort(K,K+M); for (int i = 0; i < M; ++i) { set<int> myset; ll sum=0; for (int j = i; j < M; ++j) { sum+=K[j]; for(auto it:vec[K[j]]) myset.insert(it); if(myset.size()<sum)return 0; } } for (int i = 0; i < M; ++i) { set<int> myset; ll sum=0; for (int j = 0; j < M; ++j) { if(rng()&1)continue; sum+=K[j]; for(auto it:vec[K[j]]) myset.insert(it); if(myset.size()<sum)return 0; } } return 1; }

Compilation message (stderr)

teams.cpp: In function 'int can(int, int*)':
teams.cpp:33:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   33 |    if(myset.size()<sum)return 0;
      |       ~~~~~~~~~~~~^~~~
teams.cpp:46:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   46 |    if(myset.size()<sum)return 0;
      |       ~~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...