首页 > 其他 > 详细

宁波多校(一) E题 ddd的逛街计划(Easy Version)

时间:2020-07-05 00:05:31      阅读:56      评论:0      收藏:0      [点我收藏+]

思维题,题目限制了在一个长度为k的滑动窗口内必须要有l个数

因此所有%k相等的位置的状态是固定的,否则两个k中的个数就不相等

因此只需要把%k个相加,之后在k个中选最大的l个就行

技术分享图片
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
typedef long long ll;
int a[N];
int b[N];
int main(){
    int i;
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        int i;
        memset(b,0,sizeof b);
        for(i=0;i<n;i++){
            cin>>a[i];
        }
        int k,l,r;
        cin>>k>>l>>r;
        for(i=0;i<n;i++){
            b[i%k]+=a[i];
        }
        sort(b,b+k);
        reverse(b,b+k);
        int res=0;
        for(i=0;i<l;i++){
            res+=b[i];
        }
        cout<<res<<endl;
    }
}
View Code

 

宁波多校(一) E题 ddd的逛街计划(Easy Version)

原文:https://www.cnblogs.com/ctyakwf/p/13237194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!