Submission #1107615

#TimeUsernameProblemLanguageResultExecution timeMemory
1107615AvianshHorses (IOI15_horses)C++17
34 / 100
1567 ms8016 KiB
#include "horses.h"

int n;
int *x;
int *y;
int mod = 1e9+7;

int finans(){
    int mx = 0;
    long long curr = 1;
    for(int i = 0;i<n;i++){
        curr*=x[i];
        if(curr>y[mx]){
            mx=i;
            curr=1;
            continue;
        }
        else if(curr*y[i]>y[mx]){
            mx=i;
            curr=1;
            continue;
        }
    }
    long long ans = 1;
    for(int i = 0;i<=mx;i++){
        ans*=x[i];
        ans%=mod;
    }
    ans*=y[mx];
    ans%=mod;
    return ans;
}

int init(int N, int X[], int Y[]) {
    x=X;
    y=Y;
    n=N;
	return finans();
}

int updateX(int pos, int val) {
    x[pos]=val;
	return finans();
}

int updateY(int pos, int val) {
    y[pos]=val;
	return finans();
}

Compilation message (stderr)

horses.cpp: In function 'int finans()':
horses.cpp:31:12: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   31 |     return ans;
      |            ^~~
#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...