Submission #91988

#TimeUsernameProblemLanguageResultExecution timeMemory
91988luciocf말 (IOI15_horses)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>

using namespace std;

const int maxn = 5e5+10;

const int mod = 1e9+7;

typedef long long ll;

int n;

ll x[maxn], y[maxn];

struct node
{
	double maior, soma;
	ll maiorp, prod;
} tree[4*maxn];

void join(int node)
{
	tree[node].maior = max(tree[2*node].maior, tree[2*node].soma+tree[2*node+1].maior);
	tree[node].soma = tree[2*node].soma+tree[2*node+1].soma;

	if (tree[2*node].maior > tree[2*node].soma+tree[2*node+1].maior)
		tree[node].maiorp = tree[2*node].maiorp;
	else 
		tree[node].maiorp = (tree[2*node].prod*tree[2*node+1].maiorp)%mod;

	tree[node].prod = (tree[2*node].prod*tree[2*node+1].prod)%mod;
}

void build(int node, int l, int r)
{
	if (l == r)
	{
		tree[node].maior = log2(x[l])+log2(y[l]);
		tree[node].soma = log2(x[l]);

		tree[node].maiorp = (x[l]*y[l])%mod;
		tree[node].prod = x[l]%mod;

		return;
	}

	int mid = (l+r)>>1;

	build(2*node, l, mid); build(2*node+1, mid+1, r);
	join(node);
}

void upd(int node, int l, int r, int pos)
{
	if (l == r)
	{
		tree[node].maior = log2(x[l])+log2(y[l]);
		tree[node].soma = log2(x[l]);

		tree[node].maiorp = (x[l]*y[l])%mod;
		tree[node].prod = x[l]%mod;	

		return;
	}

	int mid = (l+r)>>1;

	if (pos <= mid) upd(2*node, l, mid, pos);
	else upd(2*node+1, mid+1, r, pos);

	join(node);
}

int init(int N, int X[], int Y[])
{
	n = N;
	for (int i = 0; i < n; i++)
		x[i+1] = (ll)X[i], Y[i+1] = (ll)Y[i];
	build(1, 1, n);

	return (int)tree[1].maiorp;
}

int updateX(int pos, int val)
{
	x[pos+1] = (ll)val;
	upd(1, 1, n, pos+1);

	return (int)tree[1].maiorp;
}

int updateY(int pos, int val)
{
	y[pos+1] = (ll)val;
	upd(1, 1, n, pos+1);

	return (int)tree[1].maiorp;
}

int main(){return 0;}

Compilation message (stderr)

/tmp/ccQ46oGm.o: In function `main':
grader.c:(.text.startup+0x0): multiple definition of `main'
/tmp/ccwskYDG.o:horses.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status