Untitled
unknown
plain_text
2 years ago
912 B
2
Indexable
#include<iostream> using namespace std; int n, k,m; int a[20]; int ans; bool check() { for(int i=0; i<=n-k;i++){ int max=0; for(int j=0; j<k;j++){ if(max<a[i+j])max=a[i+j]; } int d=0; for(int j=0; j<k;j++){ if(a[i+j]==max)d++; } if(d>=m) return false; } return true; } void go(int k, int cnt) { if(cnt>ans) return; if(k==n){ if(check()){ if(cnt<ans) ans=cnt; } return; } for(int j=0; j<2;j++){ if(j==0) go(k+1,cnt); else{ a[k]=a[k]+1; go(k+1,cnt+1); a[k]=a[k]-1; } } } int main() { freopen("input.txt","r",stdin); int T; cin >>T; for(int tc=1; tc<=T;tc++){ cin >> n>>k>>m; for(int i=0; i<n;i++){ cin >> a[i]; } ans=n; go(0,0); if(ans==n) cout<<-1<<endl; else cout<<ans<<endl; } return 0; } //input 5 3 2 1 3 1 2 1 5 3 3 7 7 7 7 7 5 3 3 7 7 7 8 8 4 3 1 1 3 1 2 011-1
Editor is loading...