# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
872610 | 2023-11-13T12:54:52 Z | imarn | Peru (RMI20_peru) | C++14 | 1 ms | 348 KB |
#include<bits/stdc++.h> #define ld long double #define pii pair<int,int> #define pll pair<ll,ll> #define all(x) x.begin(),x.end() #define pb push_back #define sz(x) (int)x.size() #define f first #define s second #define vi vector<int> #define vpii vector<pii> #define ll long long using namespace std; const int inf=1e9+7; int solve(int n, int k, int* v){ int a[n+1]; ll pw[n+1];pw[0]=1; for(int i=1;i<=n;i++)pw[i]=(pw[i-1]*23)%inf; for(int i=1;i<=n;i++)a[i]=*(v+i-1); deque<int>dq;ll dp[n+1];dp[0]=0; for(int i=1;i<=n;i++){ while(!dq.empty()&&i-dq.front()>k)dq.pop_front(); while(!dq.empty()&&a[dq.back()]<a[i])dq.pop_back();dq.pb(i); dp[i] = dp[max(i-k,0)]+a[dq.front()]; for(int j=1;j<dq.size();j++){ dp[i] = min(dp[i],dp[dq[j-1]]+a[dq[j]]); } }ll ans=0; for(int i=1;i<=n;i++){ ans+=dp[i]*pw[n-i]; ans%=inf; }return (ans%inf+inf)%inf; } /*int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL); int n,k;cin>>n>>k; int a[n+1]; for(int i=1;i<=n;i++)cin>>a[i]; deque<int>dq;int dp[n+1];dp[0]=0; for(int i=1;i<=n;i++){ while(!dq.empty()&&i-dq.front()>k)dq.pop_front(); while(!dq.empty()&&a[dq.back()]<a[i])dq.pop_back();dq.pb(i); dp[i] = dp[max(i-k,0)]+a[dq.front()]; for(int j=1;j<dq.size();j++){ dp[i] = min(dp[i],dp[dq[j-1]]+a[dq[j]]); } }for(int i=1;i<=n;i++)cout<<dp[i]<<" "; }*/
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Incorrect | 1 ms | 348 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Incorrect | 1 ms | 348 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Incorrect | 1 ms | 348 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |