1121 Reverse the lights(“玲珑杯”线上赛 Round #15 河南专场)

题目链接:http://ifrog.cc/acm/problem/1121

这道题的思路就是他总共只有k+1个状态,然后枚举所有状态,满足所有灯亮的条件就更新答案。

代码如下:

#include<bits/stdc++.h>
using namespace std;

int n, k;
int a[10007];

int main()
{
    while(scanf("%d%d", &n, &k)!=EOF)
    {
        for(int i=1; i<=n; ++ i)
            scanf("%d", &a[i]);
        long long mx = 1e15;
        for(int i=1; i<=min(k+1, n); ++ i)
        {
            long long res = a[i], s = i;
            bool is = false;
            while(s + 2*k + 1 <= n)
            {
                s += 2*k + 1;
                res += a[s];
            }
            if(s + k >= n)
                mx = min(mx, res);
        }
        printf("%lld
", mx);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/aiterator/p/6924432.html