Submission #1273787

#TimeUsernameProblemLanguageResultExecution timeMemory
1273787PetrixHorses (IOI15_horses)C++20
34 / 100
13 ms5956 KiB
#include "horses.h" #include<iostream> using namespace std; #define MOD 1000000007 int n; long long x[100001]; long long y[100001]; int calc(){ long long ci,prod,i,rasp=1,max1; for(i=1;i<=n;i++) max1=max(max1,y[i]); ci=n;prod=y[n]*x[n]; for(i=n-1;i>=1;i--){ if(prod>max1) break; if(y[i]>prod){ ci=i;prod=y[i]; } prod*=x[i]; } for(i=1;i<=ci;i++){ rasp=(rasp*x[i])%MOD; } rasp=(rasp*y[ci])%MOD; return rasp; } int init(int N,int X[],int Y[]){ int i; n=N; for(i=1;i<=n;i++){ x[i]=X[i-1]; y[i]=Y[i-1]; } return calc(); } int updateX(int pos,int val){ x[pos+1]=val; return calc(); } int updateY(int pos,int val){ y[pos+1]=val; return calc(); }
#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...