Submission #102773

# Submission time Handle Problem Language Result Execution time Memory
102773 2019-03-27T12:57:26 Z Mahmoud_Adel K blocks (IZhO14_blocks) C++14
0 / 100
237 ms 79864 KB
#include <bits/stdc++.h>
using namespace std;
#define s second
#define f first
typedef long long ll;
const int N = 100005, M = 105;
int n, k, a[N], dp[M][N], ch[M][N];
int main()
{
    cin >> n >> k;
    for(int i=1; i<=n; i++) cin >> a[i];
    dp[0][0] = 0;
    for(int i=1; i<=k; i++)
    {
        stack<int> s;
        for(int j=i; j<=n; j++)
        {
            dp[i][j] = dp[i-1][j-1]+ a[j], ch[i][j] = a[j];
            while(!s.empty())
            {
                int u = s.top();
                if(a[u] <= a[j])
                {
                    if(dp[i][j] > dp[i][u] - ch[i][u] + max(ch[i][u], a[j]))
                    dp[i][j] = dp[i][u] - ch[i][u] + max(ch[i][u], a[j]), ch[i][j] = max(ch[i][u], a[j]);
                }
                else break;
                s.pop();
            }
            if(!s.empty())
            {
                int u = s.top();
                if(dp[i][u] < dp[i][j])
                {
                    dp[i][j] = dp[i][u];
                    ch[i][j] = ch[i][u];
                }
            }
            s.push(j);
        }
    }
    cout << dp[k][n] << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Incorrect 3 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Incorrect 3 ms 356 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 896 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 12 ms 2560 KB Output is correct
2 Correct 21 ms 1140 KB Output is correct
3 Correct 28 ms 3448 KB Output is correct
4 Correct 90 ms 28024 KB Output is correct
5 Correct 237 ms 79864 KB Output is correct
6 Incorrect 43 ms 3832 KB Output isn't correct
7 Halted 0 ms 0 KB -