# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
620935 | 2022-08-03T10:30:35 Z | A_D | Horses (IOI15_horses) | C++14 | 24 ms | 15832 KB |
#include "horses.h" #include <bits/stdc++.h> using namespace std; const int N=2e5+100; long long x[N]; long long y[N]; int suf[N]; const long long MOD=1e9+7; int n; long long me=1; long long po(long long b,long long p) { if(p==0)return 1; if(p==1)return b; if(p%2){ return (b*po(b,p-1))%MOD; } long long r=po(b,p/2); return (r*r)%MOD; } long long modinv(int v) { return po(v,MOD-2); } int getans() { long long ret=0,sum=1,sum2=1,val=0; for(int i=n-31;i<n;i++){ sum*=x[i]; sum%=MOD; sum2*=x[i]; if(sum2*y[i]>val){ ret=(sum*y[i])%MOD; sum2=1; val=y[i]; } } ret*=me; ret%=MOD; return (int)ret; } 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]; } for(int i=0;i<n-31;i++){ me*=x[i]; me%=MOD; } return getans(); } int updateX(int pos, int val) { if(pos<n-31){ me*=modinv(x[pos]); me*=MOD; x[pos]=val; me*=x[pos]; me*=MOD; } else{ x[pos]=val; } return getans(); } int updateY(int pos, int val) { y[pos]=val; return getans(); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 356 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 24 ms | 15832 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |