Submission #426960

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4269602021-06-14 11:14:24arayiRobots (IOI13_robots)C++17
76 / 100
173 ms65540 KiB
#include "robots.h"
#include <bits/stdc++.h>
#define MP make_pair
#define sc second
#define ad push_back
#define fr first
using namespace std;
const int N = 2e6 + 30;
long long n, m, t;
long long x[N], y[N], w[N], s[N], col[N], sm[N];
pair<long long, long long> a[N], b[N];
vector<long long> g[N];
bool stg(long long k)
{
for (long long i = 0; i <= m + 1; i++) sm[i] = 0;
priority_queue <long long> q;
long long i1 = 0;
for (long long i = n; i >= 0; i--)
{
for(auto p : g[i]) q.push(-col[p]);
while(q.size() > i1) sm[-q.top()]++, q.pop();
i1+=k;
}
i1 = 0;
for (long long i = m; i >= 0; i--)
{
sm[i] += sm[i+1];
if(sm[i] > i1) return 0;
i1+=k;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

robots.cpp: In function 'bool stg(long long int)':
robots.cpp:22:24: warning: comparison of integer expressions of different signedness: 'std::priority_queue<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   22 |         while(q.size() > i1) sm[-q.top()]++, q.pop();
      |               ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...