Codeforces 660 C. Hard Process (尺取)
2016-08-15 13:29
435 查看
题目链接:http://codeforces.com/problemset/problem/660/C
尺取法
尺取法
#include <bits/stdc++.h> using namespace std; int main() { static int num[int(3e5 + 5)]; int n, k; scanf("%d %d", &n, &k); for(int i = 1; i <= n; ++i) { scanf("%d", num + i); } int l = 1, res = 0, cnt = 0, flagl = 0, flagr = -1; for(int i = 1; i <= n; ++i) { if(num[i]) { if(i - l + 1 > res) { res = i - l + 1, flagl = l, flagr = i; } } else { cnt++; while(cnt > k && l <= i) { if(!num[l++]) --cnt; } if(i - l + 1 > res) { res = i - l + 1, flagl = l, flagr = i; } } } for(int i = flagl; i <= flagr; ++i) num[i] |= 1; printf("%d\n", res); for(int i = 1; i <= n; ++i) { printf("%d%c", num[i], i == n ? '\n': ' '); } return 0; }
相关文章推荐
- CodeForces 616 D. Longest k-Good Segment(尺取)
- CodeForces 616D Longest k-Good Segment(尺取)
- CodeForces 660C Hard Process (队列)
- 【codeforces 660 A Co-prime Array】
- CodeForces - 580B Kefa and Company(尺取)
- Codeforces 660C-Hard Process【尺取法经典练习】
- 暑假第一周 D CodeForces 660 B.
- CodeForces 616D Longest k-Good Segment(尺取)
- CodeForces 660 A. Co-prime Array【互质+思维】
- CodeForces 660 B. Seating On Bus【模拟】
- Codeforces 660C-Hard Process(尺取法)
- Codeforces 660C Hard Process 【二分】
- codeforces-660【思维】
- codeforces 279-B. Books(尺取)
- Codeforces 190D Non-Secret Cypher(尺取)
- codeforces 237-C. Primes on Interval(尺取)
- codeforces 660B B. Seating On Bus(模拟)
- codeforces 676-C. Vasya and String(尺取)
- codeforces 660C C. Hard Process(二分)
- codeforces 660D (STL map)