Submission #126377

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1263772019-07-07 14:20:20nxteruRobots (IOI13_robots)C++14
100 / 100
601 ms27504 KiB
#include "robots.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> P;
#define F first
#define S second
#define PB push_back
ll n,m,q,x[50005],y[50005],par[50005],res[50005],s[50005],u[50005];
P g[1000005];
vector<ll>cmx,cmy;
int find(int a){
if(par[a]==a)return a;
return par[a]=find(par[a]);
}
void unit(int a,int b){
par[a]=find(b);
}
bool check(int t){
for(int i=0;i<=cmy.size();i++)par[i]=i,res[i]=0;
for(int i=0;i<m;i++)res[y[i]]+=t;
for(int i=0;i<=cmx.size();i++)s[i]=0,u[i]=0;
for(int i=0;i<n;i++)u[x[i]]+=t;
for(int i=0;i<q;i++){
ll p=g[i].S;
p=find(p);
if(p==cmy.size())s[g[i].F]++;
else{
res[p]--;
if(res[p]==0)unit(p,p+1);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

robots.cpp: In function 'bool check(int)':
robots.cpp:20:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<=cmy.size();i++)par[i]=i,res[i]=0;
              ~^~~~~~~~~~~~
robots.cpp:22:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<=cmx.size();i++)s[i]=0,u[i]=0;
              ~^~~~~~~~~~~~
robots.cpp:27:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(p==cmy.size())s[g[i].F]++;
      ~^~~~~~~~~~~~
#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...