• codeforces C. Sereja and Swaps


    http://codeforces.com/contest/426/problem/C

     题意:找出连续序列的和的最大值,可以允许交换k次任意位置的两个数。

    思路:枚举区间,依次把区间内的比较小的数换成区间外的比较大的数。

     1 #include <cstdio>
     2 #include <iostream>
     3 #include <cstring>
     4 #include <queue>
     5 #include <algorithm>
     6 using namespace std;
     7 
     8 int a[300],b[300],c[300];
     9 int n,kk;
    10 bool cmp(int aa,int bb)
    11 {
    12     return aa>bb;
    13 }
    14 
    15 int main()
    16 {
    17     cin>>n>>kk;
    18     int ans=-1000;
    19     for(int i=1; i<=n; i++)
    20     {
    21        cin>>a[i];
    22        ans=max(ans,a[i]);
    23     }
    24     for(int i=1; i<=n; i++)
    25     {
    26         for(int j=i+1; j<=n; j++)
    27         {
    28             int t=0;
    29             memset(b,0,sizeof(b));
    30             memset(c,0,sizeof(c));
    31             for(int k=i; k<=j; k++)
    32             {
    33                 b[t++]=a[k];
    34             }
    35             int t1=0;
    36             for(int x=1; x<i; x++)
    37             {
    38                 c[t1++]=a[x];
    39             }
    40             for(int x=j+1; x<=n; x++)
    41             {
    42                 c[t1++]=a[x];
    43             }
    44             sort(b,b+t);
    45             sort(c,c+t1,cmp);
    46             int sum=0;
    47             for(int x=1; x<=min(kk,t); x++)
    48             {
    49                 if(b[x-1]<c[x-1]&&x<=t1)
    50                 {
    51                     sum+=c[x-1];
    52                 }
    53                 else
    54                     sum+=b[x-1];
    55             }
    56             for(int x=min(kk,t); x<t; x++)
    57             {
    58                 sum+=b[x];
    59             }
    60             ans=max(ans,sum);
    61         }
    62     }
    63     printf("%d
    ",ans);
    64     return 0;
    65 }
    View Code
  • 相关阅读:
    团队作业(三)
    第四章学习笔记
    2.3.1测试
    缓冲区溢出漏洞实验
    第三章学习笔记
    团队作业(二)
    第十一章学习笔记
    第7,8章自学笔记
    stat命令实现—mystat
    第五章学习笔记
  • 原文地址:https://www.cnblogs.com/fanminghui/p/4309756.html
Copyright © 2020-2023  润新知