BestCoder #47 1001&&1002

【比赛链接】clikc here~~

ps:真是wuyu~~做了两小时,A出两道题,最后因为没加longlong全部被别人hack掉!,最后居然不知道hack别人不成功也会掉分,还一个劲的hack 别人的代码,昨天真是个悲催的比赛,~~~~(>_<)~~~~,下面弱弱献上代码~~

1002比1001还简单~~

1002  Senior‘s Gun

/*
BestCoder Round #47
1002   Senior's Gun

*/
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;

#define rep(i,j,k) for(int i=(int)j;i<=(int)k;i++)
#define per(i,j,k) for(int i=(int)j;i>=(int)k;i--)
typedef long long LL;
typedef unsigned long long LLU;
typedef double db;

const int N =2*1e5+10;
int n,m,t,p,res,cnt;
LL ans,tmp;
int num[N];
int aa[N],bb[N];
char str[N];
bool vis[N];

int main()
{
    scanf("%d",&t);
    while (t--)
    {
        scanf("%d%d",&n,&m);
        for (int i=1; i<=n; i++) scanf("%d",&aa[i]);
        for (int i=1; i<=m; i++) scanf("%d",&bb[i]);
        sort(aa+1,aa+n+1);
        sort(bb+1,bb+m+1);
        ans=0;
        int j=n;
        for (int i=1; i<=min(n,m); i++)
            if(aa[j]>bb[i])
            {
                ans+=aa[j]-bb[i];
                j--;
            }
            else break;
        printf("%I64d\n",ans);
    }
    return 0;
}

Sample Input

1
2 2
2 3
2 2

Sample Output

1

1001 Senior‘s Array

/*
BestCoder Round #47
1002   Senior's Array

*/
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;

#define rep(i,j,k) for(int i=(int)j;i<=(int)k;i++)
#define per(i,j,k) for(int i=(int)j;i>=(int)k;i--)
typedef long long LL;
typedef unsigned long long LLU;
typedef double db;

const int N =2*1e4+10;
int n,m,t,p;
int aa[N],bb[N];
char str[N];
bool vis[N];

int main()
{
    scanf("%d",&t);
    while (t--)
    {
        scanf("%d%d",&n,&p);
        rep(i,1,n) scanf("%d",&aa[i]);
        LL ans=-1e9;
        rep(i,1,n)
        {
            int tmp=aa[i];
            aa[i]=p;
            LL now=0;
            rep(j,1,n)
            {
                now+=(1ll)*aa[j];
                if(now>ans) ans=now;
                if(now<0) now=0;
            }
            aa[i]=tmp;
        }
        printf("%I64d\n",ans);
    }
    return 0;
}

Sample Input

2
3 5
1 -1 2
3 -2
1 -1 2

Sample Output

8
2

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 11:29:42

BestCoder #47 1001&&1002的相关文章

BestCoder #47 1001&amp;amp;&amp;amp;1002

[比赛链接]clikc here~~ ps:真是wuyu~~做了两小时.A出两道题,最后由于没加longlong所有被别人hack掉!,最后竟然不知道hack别人不成功也会掉分.还一个劲的hack 别人的代码,昨天真是个悲催的比赛,~~~~(>_<)~~~~,以下弱弱献上代码~~ 1002比1001还简单~~ 1002  Senior's Gun /* BestCoder Round #47 1002 Senior's Gun */ #include <iostream> #inc

BestCoder#48 1001 &amp;&amp; 1002

[比赛链接]click here~~ [题目] 1001  wyh2000 and a string problem 问题描述 青年理论计算机科学家wyh2000在教小学生一些基础的字符串概念. 定义一个字符串s的子序列为将s中一些元素删掉得到的字符串.可以删掉全部元素,可以不删,也可以只删一些. 他还教了小学生如何判断一个串是不是另一个串的子序列.比如给你一个串,要求判断wyh是不是它的子序列,那么你只需要找一个w,找一个y,再找一个h,使得w在y前面,y在h前面即可. 有一天小学生拿着一个串

BestCoder Round #1 1001 &amp;&amp; 1002 hdu 4857 4858

hdu 4857 逃生 第一题是拓扑排序,不是按照字典序最小输出,而是要使较小的数排在最前面..赛后弄了好久,才比较明白,我一直以为 反向建图,i从1到n,开始深搜dfs( i ),对i点的边,由小到大继续搜一下,同时标记搜过的数,搜过之后就不再搜,搜到底之后ans[cnt++] = u;这样顺序输出就是答案,后来经过超哥指点,才明白深搜贪心是错的.只有 反向建图,用优先队列把较大的数尽量排在前面,然后反序输出才是正解.. 1 #include<iostream> 2 #include<

HDU 5280 BestCoder Round #47 1001:Senior&#39;s Array

Senior's Array Accepts: 199 Submissions: 944 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) 问题描述 某天学姐姐得到了一个数组A,在这个数组的所有非空区间中,她找出了一个区间和最大的,并把这个区间和定义为这个数组的美丽值. 但是她觉得这个数组不够美,于是决定修理一下这个数组. 学姐姐将会进行一次操作,把原数组中的某个数修改为P(必须修改)

Manacher BestCoder Round #49 ($) 1002 Three Palindromes

题目传送门 1 /* 2 Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 3 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间,位运算 >>1 比 /2 速度快,用了程序跑快200ms左右,位运算大法好 4 */ 5 /************************************************ 6 Author :Running_Time 7 Created Time :2015-8-1

矩阵快速幂---BestCoder Round#8 1002

当要求递推数列的第n项且n很大时,怎么快速求得第n项呢?可以用矩阵快速幂来加速计算.我们可以用矩阵来表示数列递推公式比如fibonacci数列 可以表示为 [f(n)   f(n-1)] = [f(n-1)    f(n-2)] [ 1 1 ]     [ 1 0 ] 设A = [ 1 1 ]  [ 1 0 ] [f(n)   f(n-1)] = [f(n-2)   f(n-3)]*A*A[f(n)   f(n-1)] = [f(2)   f(1)]*A^(n-2)矩阵满足结合律,所以先计算A^

二分图判定+点染色 BestCoder Round #48 ($) 1002 wyh2000 and pupil

题目传送门 1 /* 2 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 3 每一次二分图匹配时,将点多的集合加大最后第一个集合去 4 注意:n <= 1,no,两个集合都至少有一人:ans == n,扔一个给另一个集合 5 */ 6 #include <cstdio> 7 #include <algorithm> 8 #include <cstring> 9 #include <cmath> 10 #in

BestCoder Round #1 1002 项目管理 (HDU 4858)

项目管理 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 738    Accepted Submission(s): 260 Problem Description 我们建造了一个大项目!这个项目有n个节点,用很多边连接起来,并且这个项目是连通的!两个节点间可能有多条边,不过一条边的两端必然是不同的节点.每个节点都有一个能量值. 现在我

BestCoder Round #4 1002

这题真是丧心病狂,引来今天的hack狂潮~ Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 10    Accepted Submission(s): 3 Problem Description There are N point on X-axis . Miaomiao would like t