Submission #526333

#TimeUsernameProblemLanguageResultExecution timeMemory
526333BelguteiHorses (IOI15_horses)C++17
17 / 100
13 ms10420 KiB
#include "horses.h"
#include<bits/stdc++.h>

using namespace std;

#define ll long long
#define ff first
#define ss second
#define pb push_back
#define mk make_pair
#define MOD 1000000007

int x[1005];
int y[1005];
map<int,int> mp;
int n;

int go(){
	mp.clear();
	for(int i=0; i<n; i++){
		int tur=1;
		for(int j=i+1; j<n; j++){
			tur*=x[j];
			if(tur>y[i]){
				mp[i]++;
				break;
			}
			int tur1=tur*y[j];
			if(tur1>y[i]){
				mp[i]++;
			}
			if(tur1<y[i]){
				mp[j]++;
			}
		}
	}
	int tur=1;
	for(int i=0; i<n; i++){
		tur*=x[i];
		tur%=MOD;
		if(mp[i]==0){
			tur*=y[i];
			int ans=tur;
			return ans;
		}
	}
	return 0;
}

int init(int N, int X[], int Y[]) {
	n=N;
	for(int i=0; i<n; i++){
		x[i]=X[i];
		y[i]=Y[i];
	}
	return go();
}
int updateX(int pos, int val) {	
	x[pos]=val;
	return go();
}

int updateY(int pos, int val) {
	y[pos]=val;
	return go();
}
#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...