提交时间:2025-03-20 14:40:13

运行 ID: 7671

#include <bits/stdc++.h> using namespace std; int main() { int n,m,whiteCount=0; cin >> n >> m; int a[n+1],pos[n+1]; for(int i = 0; i<n; i++) { cin >> a[i]; } for(int i = 0; i<n; i++) { if(a[i]==1) { pos[whiteCount] = i; whiteCount++; } } if(whiteCount<m || m==0) { cout << -1; return 0; } int left,right,min_count=n+1,del_count; for(int i = 0; i<=whiteCount-m; i++) { left = pos[i]; right = pos[i+m-1]; del_count = left+n-right-1; if(del_count < min_count) { min_count = del_count; } } cout << min_count; return 0; }