Submission #526334

#TimeUsernameProblemLanguageResultExecution timeMemory
526334Belgutei말 (IOI15_horses)C++17
17 / 100
12 ms8388 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

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

int go(){
	mp.clear();
	for(int i=0; i<n; i++){
		ll tur=1;
		for(int j=i+1; j<n; j++){
			tur*=x[j];
			if(tur>y[i]){
				mp[i]++;
				break;
			}
			ll 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];
			tur%=MOD;
			return tur;
		}
	}
	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();
}

Compilation message (stderr)

horses.cpp: In function 'int go()':
horses.cpp:39:6: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   39 |   tur*=x[i];
      |   ~~~^~~~~~
horses.cpp:42:7: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   42 |    tur*=y[i];
      |    ~~~^~~~~~
#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...