Submission #377391

#TimeUsernameProblemLanguageResultExecution timeMemory
377391ThistleComparing Plants (IOI20_plants)C++14
5 / 100
108 ms8044 KiB
#include "plants.h"
#include <vector>
#include<algorithm>
#include<set>
#include<iostream>
#include<random>
#include<queue>
#include<cassert>
using namespace std;
using ll=long long;
using H=pair<ll, ll>;
#define vec vector
#define vi vec<ll>
#define pb push_back
#define all(a) (a).begin(),(a).end()
#define rng(i,a,b) for(int (i)=(a);(i)<(b);(i)++)
#define rep(i,n) rng((i),0,(n))
#define siz(a) int((a).size())

int n,all;
vec<int>csum;
void init(int k, std::vector<int> r) {
	//DAG kouchiku
	n=siz(r);
	csum.assign(n,0);
	rep(i,n) {
		csum[i]=r[i];
		all+=r[i];
	}
	rng(i,1,n) csum[i]+=csum[i-1];

	return;
}
int sum(int l,int r){
	return csum[r]-(l==0?0:csum[l-1]);
}

int compare_plants(int x, int y) {
	if(sum(x,y-1)==0||all-sum(x,y-1)==(n-(y-x))){
		return 1;
	}
	if(sum(x,y-1)==y-x||sum(x,y-1)==all){
		return -1;
	}
	return 0;
}

Compilation message (stderr)

plants.cpp: In function 'void init(int, std::vector<int>)':
plants.cpp:16:28: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   16 | #define rng(i,a,b) for(int (i)=(a);(i)<(b);(i)++)
      |                            ^
plants.cpp:17:18: note: in expansion of macro 'rng'
   17 | #define rep(i,n) rng((i),0,(n))
      |                  ^~~
plants.cpp:26:2: note: in expansion of macro 'rep'
   26 |  rep(i,n) {
      |  ^~~
plants.cpp:16:28: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   16 | #define rng(i,a,b) for(int (i)=(a);(i)<(b);(i)++)
      |                            ^
plants.cpp:30:2: note: in expansion of macro 'rng'
   30 |  rng(i,1,n) csum[i]+=csum[i-1];
      |  ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...