Submission #1160229

#TimeUsernameProblemLanguageResultExecution timeMemory
1160229siegeonsticksRabbit Carrot (LMIO19_triusis)Java
100 / 100
176 ms33420 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(System.out); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); ArrayList<Integer> a = new ArrayList<>(); for (int i=0; i<n; i++) { int p = Integer.parseInt(br.readLine()); if ((i+1)*m>=p) a.add((i+1)*m-p); } pw.println(n-subseq(a)); pw.close(); } private static int subseq(ArrayList<Integer> arr) { ArrayList<Integer> mend = new ArrayList<>(); for (int i:arr) { int pos = bisect(mend, i); if (pos==mend.size()) mend.add(i); else mend.set(pos, i); } return mend.size(); } private static int bisect(ArrayList<Integer> arr, int x) { int lo = 0, hi = arr.size(); while (lo<hi) { int mid = (lo+hi)/2; if (x<arr.get(mid)) hi = mid; else lo = mid+1; } return lo; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...