Submission #1160227

#TimeUsernameProblemLanguageResultExecution timeMemory
1160227siegeonsticksRabbit Carrot (LMIO19_triusis)Java
63 / 100
1094 ms22444 KiB
import java.io.*;
import java.util.*;
public class triusis {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int[] h = new int[n];
        for (int i=0; i<n; i++) h[i] = Integer.parseInt(br.readLine());
        int res = solve(h, m);
        pw.println(res);
        pw.close();
        br.close();
    }
    private static int solve(int[] h, int m) {
        int n = h.length;
        int[] dp = new int[n];
        dp[0] = (h[0]<=m)?1:0;
        for (int i=1; i<n; i++) {
            dp[i] = 0;
            for (int j=0; j<i; j++) if (h[i]<=h[j]+m*(i-j)&&dp[j]>0) dp[i] = Math.max(dp[i], dp[j]+1);
            if (h[i]<=m*(i+1)) dp[i] = Math.max(dp[i], 1);
        }
        int mxunch = 0;
        for (int i=0; i<n; i++) {
            mxunch = Math.max(mxunch, dp[i]);
        }
        return n-mxunch;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...