제출 #1290333

#제출 시각아이디문제언어결과실행 시간메모리
1290333HoriaHaivasPeru (RMI20_peru)C++20
0 / 100
1097 ms10276 KiB
#include<bits/stdc++.h> #include "peru.h" #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " #pragma GCC optimize("Ofast") #define int long long using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int range_rng(int l, int r) { return uniform_int_distribution<int>(l,r)(rng); } int dp[1005]; int v[1005]; const int mod=1e9+7; int lgpow(int x, int p) { int ans,pw,i; ans=1; pw=x; for (i=0;i<30;i++) { if (p&(1<<i)) ans=(ans*pw)%mod; pw=(pw*pw)%mod; } return ans; } int cost (int l, int r) { int i,mx; mx=0; for (i=l;i<=r;i++) { mx=max(mx,v[i]); } return mx; } signed solve(signed N, signed K, signed* S) { int n,k,i,j,ans; n=N; k=K; ans=0; for (i=1;i<=n;i++) { dp[i]=1e18; for (j=i;j>=max(i-k+1,1LL);j--) { dp[i]=min(dp[i],dp[j-1]+cost(j,i)); } ans+=(dp[i]*lgpow(23,n-i))%mod; ans%=mod; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...