Pagini recente » Cod sursa (job #2968537) | Cod sursa (job #2719734) | Cod sursa (job #1586404) | Cod sursa (job #2152820) | Cod sursa (job #2048801)
//package com.company;
import java.io.*;
import java.util.*;
public class Main {
private static Set< Integer > set = new HashSet<>();
private static List< Integer > elements = new ArrayList<>();
private static void readData() throws IOException{
Scanner s = new Scanner(new BufferedReader(new FileReader("C:\\Users\\Onu Edy\\Desktop\\secv\\src\\secv.in")));
int N = s.nextInt();
while(N-- > 0) {
elements.add(s.nextInt());set.add(elements.get(elements.size() - 1));
}
}
private static int answer(){
int[] length = new int[elements.size() + 1];
int[] choice = new int[elements.size() + 1];
PriorityQueue < Integer > q = new PriorityQueue<>((x,y)->x.compareTo(y));
for(int j = elements.size() - 1; j >= 0; --j) {
length[j] = 1;choice[j] = j;
for (int i = j + 1; i < elements.size(); ++i) {
if (elements.get(j) >= elements.get(i) || length[j] > length[i] + 1) continue;
if (length[j] < length[i] + 1) {
length[j] = length[i] + 1;choice[j] = choice[i];continue;
}
choice[j] = Math.min(choice[i], choice[j]);
}
if(length[j] == set.size())q.add(choice[j] - j + 1);
}
return q.remove();
}
public static void main(String[] args) throws IOException {
readData();
BufferedWriter sout = new BufferedWriter(new FileWriter("secv.out"));
sout.write(answer()+"");sout.close();
}
}