Submission #981792

# Submission time Handle Problem Language Result Execution time Memory
981792 2024-05-13T15:02:38 Z Abito Painting Walls (APIO20_paint) C++17
0 / 100
0 ms 348 KB
#include "paint.h"
#include <bits/stdc++.h>
#define pb push_back
#define ep insert
using namespace std;
int minimumInstructions(
    int n, int m, int k, vector<int> C,
    vector<int> A, vector<vector<int>> B){
    int D[k],R[n];
    for (int i=0;i<n;i++) R[i]=0;
    for (int i=0;i<k;i++) D[i]=-1;
    for (int i=0;i<m;i++) for (auto u:B[i]) D[u]=i;
    for (int i=0;i<k;i++) if (D[i]==-1) return -1;
    for (int i=0;i<n;i++){
        int r=i;
        for (int j=0;j<n-i;j++){
            if (D[C[i]+j]==(D[C[i+j]])%m) r=j+i;
            else break;
        }
        for (int j=i;j<=r;j++) R[j]=r;
        //i=r;
    }
    int dp[n+1];
    dp[n]=0;
    for (int i=0;i<n;i++) dp[i]=n;
    multiset<int> s;
    for (int i=1;i<m;i++) s.ep(n);
    s.ep(0);
    for (int i=n-m;i>=0;i--){
        if (R[i]-i+1>=m) dp[i]=*s.begin()+1;
        s.ep(dp[i]);
        s.erase(s.find(dp[i+m]));
    }if (dp[0]>=n) return -1;
    return dp[0];
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -