Test20200610

Posted sususos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Test20200610相关的知识,希望对你有一定的参考价值。

T1 第一题(eat.cpp/c/pas)

贪心 排序 模拟

【问题描述】
凶猛的**出来吃人了!每天早晨,**从大山里出来,到达一个城市,然后花费一整天的时间把这座城市里的人吃光。直到夜晚,**才回到山中去。当**经过一个城市时,不管是否吃人,它都会把这座城市彻底破坏,以至于下次不能再到这个城市吃人了。显然,城市里的居民无法忍受这样的状况。所以,每天夜晚,每座城市里都会有一个人逃到乡下去,到了乡下以后**就永远吃不到他了。城市之间有一些双向道路连接着。其中 1 号城市连接着大山,即**每天的旅途的起点。当然,**只能沿着这些道路走。**意识到必须抓紧时间吃人,所以它每天都要认真选取要去的城市,当然它不能选择已经被吃过或破坏过的城市。现在问题来了,在所有城市没有人居住之前,**最多能吃掉多少人?
【输入】
输入文件名为 eat.in。
第一行两个整数??, ??,用一个空格隔开,表示城市的个数和道路数。
第二行??个整数????,表示每座城市初始的人数。两个数之间用一个空格隔开。
接下来??行,每行两个整数??, ??(1 ≤ ??, ?? ≤ ??, ?? ≠ ??),用一个空格隔开,表示城市??和城市??之间有一条双向道路。城市 1 和大山之间也有一条双向道路。
数据保证所有城市都存在到城市 1 的路径。
【输出】
输出文件名为 eat.out。
输出共一行一个整数,表示在所有城市没有人居住之前,**最多能吃掉的人数。
【输入输出样例】
eat.in
5 5
1 3 2 4 7
1 2
1 3
2 3
2 4
3 5
eat.out
11
【数据说明】
对于 10%的数据,1 ≤ ?? ≤ 5,0 ≤ ?? ≤ 10,0 ≤ ???? ≤ 5。
对于 30%的数据,1 ≤ ?? ≤ 200,0 ≤ ?? ≤ 500,0 ≤ ???? ≤ 200。
对于 60%的数据,1 ≤ ?? ≤ 2,000,0 ≤ ?? ≤ 10,000,0 ≤ ???? ≤ 20,000。
对于 100%的数据,1 ≤ ?? ≤ 200,000,0 ≤ ?? ≤ 2,000,000,0 ≤ ???? ≤ 2,000,000。
 
第 ?? 天到达某个城市时,人数减少 $dfrac {kleft( k-1 ight) }{2}$
 1 #include<bits/stdc++.h>
 2 #define ll long long
 3 using namespace std;
 4 inline int read()
 5 {
 6     int x=0;char c=getchar();
 7     for(;!isdigit(c);c=getchar());
 8     for(;isdigit(c);c=getchar()) x=x*10+c-0;
 9     return x;
10 }
11 int n,m,a[200005];
12 ll ans=0,sum=0;
13 int main()
14 {
15     freopen("eat.in","r",stdin);
16     freopen("eat.out","w",stdout);
17     n=read();m=read();
18     for(int i=1;i<=n;i++) 
19     a[i]=read();
20     sort(a+1,a+n+1);
21     for(int i=n;i;i--)
22     {
23         sum+=a[i];
24         ans=max(ans,sum-(ll)1*(n-i+1)*(n-i)/2);
25     }
26     cout<<ans<<endl;
27     return 0;
28 }

 

 
 
 

以上是关于Test20200610的主要内容,如果未能解决你的问题,请参考以下文章

20200610 千锋教育 Redis 2. Redis 命令数据类型

Node.js JavaScript 片段中的跳过代码

[React Testing] Use Generated Data in Tests with tests-data-bot to Improve Test Maintainability(代码片段

webstorm代码片段的创建

json [test snippet]这是一个测试片段#test

java代码在片段活动中不起作用