nord vpnnord vpn
Ad

Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
1.6 kB
1
Indexable
Never
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Solution {
	static int m, k, n, min, count;
	static int[] voi = new int[18];

	public static void main(String[] args) throws FileNotFoundException {
		// TODO Auto-generated method stub
		System.setIn(new FileInputStream("src/input1.txt"));
		Scanner sc = new Scanner(System.in);

		int T = sc.nextInt();
		for (int t = 1; t <= T; t++) {
			n = sc.nextInt();
			k = sc.nextInt();
			m = sc.nextInt();

			for (int i = 1; i <= n; i++) {
				voi[i] = sc.nextInt();
			}
			min = 20;
			count = 0;
			checkVoi(1);
			if(min==20){
				min=-1;
			}
			System.out.println("#"+t+" "+ min);
		}
		sc.close();
	}

	private static void checkVoi(int x) {
		// TODO Auto-generated method stub
		if (!check()) {
			min = count < min ? count : min;
		}
		if (count > min)
			return;
		if (x == n + 1) {
			return;
		}

		for (int i = 0; i < 2; i++) {
			if (i == 0) {
				voi[x]++;
				count++;
				checkVoi(x + 1);
				count--;
				voi[x]--;
			} else {
				checkVoi(x + 1);
			}
		}
	}

	private static boolean check() {
		// TODO Auto-generated method stub
		for (int i = 1; i <= n - k+1; i++) {
			int max = 0;
			for (int j = i; j < i + k; j++) {
				if (max < voi[j]) {
					max = voi[j];
				}
			}
			int cnt = 0;
			for (int j = i; j < i + k; j++) {
				if (voi[i] == max) {
					cnt++;
				}
			}
			if (cnt >= m) {
				return true;
			}
		}

		return false;
	}

}

nord vpnnord vpn
Ad