首页 > 其他分享 >AT_abc352_c

AT_abc352_c

时间:2024-05-18 17:44:15浏览次数:12  
标签:巨人 int 高度 long abc352 include

对于一个巨人 \(i\),当他不在最上面的时候,他能贡献的高度为 \(a_i\)(无论他具体在哪个位置,只要不在最上面)。当他在最上面的时候,他能贡献的高度为 \(b_i\),此时其他巨人能贡献的高度就如前文所述。于是就可以轮流让每个巨人在最上面,计算高度最大值即可。

代码如下:

#include <iostream>
#include <cstdio>
#define int long long

using namespace std;

int a[1000001],b[2000001];
int n,ans,mx,s;

signed main()
{
	cin >> n;
	for( int i = 1 ; i <= n ; i ++ )
		cin >> a[i] >> b[i],s += a[i];
	for( int i = 1 ; i <= n ; i ++ )
		ans = max( ans , s - a[i] + b[i] );
	cout << ans;
	return 0;
}

标签:巨人,int,高度,long,abc352,include
From: https://www.cnblogs.com/-lilong-/p/18199551

相关文章

  • AT_abc352_e
    题意给定一个有\(n\)个点的图,初始没有任何边。接下来有\(m\)次操作,每次操作给定一个大小为\(k\)的集合\(S\)和一个权值\(c\),并对所有\(u,v\inS\)并且\(u<v\)的点\(u,v\)连上一条边权为\(c\)的边。\(m\)次操作后,判断图的连通性,若图联通则需求出其最小生成树......
  • AT_abc352_d
    看到题目后,第一反应便是暴力枚举确定\(i\)。但是看到了\(N\le2\times10^5\),这种想法便不合适了。观察题目第二个条件,不难发现其实真正合法的方案很少。于是可以转变方向,枚举题目要求的排列集合。想到这步,接下来就不难了。确定好原排列中被选的数后,需要求出它们的下标的最小......
  • 题解:AT_abc352_C [ABC352C] Standing On The Shoulders
    考场憋了很久,最后代码贼短……理想状态下,直接全排列解决问题。但是,\(1\len\le2\times10^5\),明显TLE,试都不用试的。咋优化呢?其实,前面的巨人只负责“打地基”,作为“塔尖儿”的巨人有且仅有1个。而前面地基随便排列,地基高度(他们的和)都不会变。所以,我们只需要枚举塔尖即......
  • ABC352
    Alink\(x\)停不到,\(y\)能停到。要先判断是从前往后还是从后往前。点击查看代码#include<bits/stdc++.h>usingnamespacestd;signedmain(){ intn,x,y,z; cin>>n>>x>>y>>z; if(x<=y){ if(z>x&&z<=y)cout<<......
  • ABC352
    A.AtCoderLine判断\(z\)是否出现在\(x\)和\(y\)之间即可代码实现n,x,y,z=map(int,input().split())ifx>y:x,y=y,xifx<z<y:print('Yes')else:print('No')B.Typing模拟代码实现#include<bits/stdc++.h......
  • AtCoder abc352
    EProblemStatementYouaregivenaweightedundirectedgraph$G$with$N$vertices,numbered$1$to$N$.Initially,$G$hasnoedges.Youwillperform$M$operationstoaddedgesto$G$.The$i$-thoperation$$(1\leqi\leqM)$$isasfollows:Youar......