Submission #478278

#TimeUsernameProblemLanguageResultExecution timeMemory
478278stefantagaPeru (RMI20_peru)C++14
0 / 100
1 ms340 KiB
#include<bits/stdc++.h> #define MOD 1000000007 #include "peru.h" using namespace std; int din[2500005]; int min1(int a,int b) { if (a<b) { return a; } return b; } int max1(int a,int b) { if (a>b) { return a; } return b; } int solve(int n, int k, int* v){ int put=1,maxim,i,j,suma=0; for (i=0;i<n;i++) { maxim=0; din[i]=1000000007; int lim=max1(i-k+1,0); for (j=i;j>=lim;j--) { maxim=max1(maxim,v[j]); if (j==0) { din[i]=min1(din[i],maxim); continue; } din[i]=min1(din[i],din[j-1]+maxim); } } for (i=n-1;i>=0;i--) { suma=(suma+(1LL*put*din[i])%MOD)%MOD; put=(1LL*23*put)%MOD; } return suma; } /* static int s[2500005]; static int n, k; int main(){ cin>> n >> k; for(int i = 0; i < n; i++){ cin>> s[i]; } int ans = solve(n, k, s); cout<< ans <<"\n"; return 0; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...