首页 > 其他分享 >Codeforces Round 973 (Div. 2) B. Battle for Survive

Codeforces Round 973 (Div. 2) B. Battle for Survive

时间:2024-09-21 20:50:22浏览次数:13  
标签:973 int 最后 Codeforces cin 数上 ans Battle define

题目链接:题目

大意:

把题目的操作翻译一下就是拿一个数去减后面的一个数,然后前面这个数会消掉。最小化最后剩下的数。

思路:

容易看出,最后剩下的一定是最后一个数,因为最后一个数一定不会被消去,又已知最后只剩下一个数,那么就是最后一个数。
前面的所有数都要被消去,最差的情况就是全部减到最后一个数上,而每用前面的一个数减到除最后一个数外的另一个数上,那么就相当于加在最后一个数上,我们可以全部减到倒数第二个数上,再减到最后一个数上。相当于最后一个数减倒数第二个数,再加上其他所有数。

代码:

#include <bits/stdc++.h>
using namespace std;

#define int long long
#define MOD 1000000007
#define fi first
#define se second
#define pii pair<int,int>
#define vec vector

void solve(){
    int n;
    cin >> n;
    vec<int> a(n);
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    int ans = 0;
    ans = a[n - 1];
    ans -= a[n - 2];
    for(int i = 0; i < n - 2; i++){
        ans += a[i];
    }
    cout << ans << '\n';
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t=1;
    cin >> t;
    while(t--){
        solve();
    }
    return 0;
}   

标签:973,int,最后,Codeforces,cin,数上,ans,Battle,define
From: https://blog.csdn.net/puzhaoyu/article/details/142423728

相关文章

  • Educational Codeforces Round 135 (Rated for Div. 2)D. Letter Picking
    注意读题,每次拿完之后是放在开头。所以先手不败,因为最后剩下两个的时候,先手一定可以取较小值。考虑怎样会出现平局?首先已经知道了先手不败,那么对于后手来说,他追求的就是平局,也就是尽可能的保证每一步都都与先手相同。所以,如果是回文串,或者两两相同,或者回文串包两两相同的情况,才......
  • Educational Codeforces Round 136 (Rated for Div. 2) D. Reset K Edges
    这道题目我们可以考虑二分做,二分出最终的深度,然后尝试是否能使用不超过\(k\)次操作使得深度符合条件。考虑如何和判断,我们可以从根节点开始搜索,如果当前点的深度为\(mid+1\),就对当前点进行操作。但很可惜,这种贪心方法可以很容易的举出反例,比如深度为\(mid\)的点下面有很多个叶......
  • Codeforces Round 972 (Div. 2)
    A.SimplePalindrome考虑到对于同一种字母无论怎么摆放,对答案的影响是相同的。所以我们可以直接把同一种字母放在一起,考虑不同中字母间为了消除回文串,必须是的同一种字母不会出现在另一种字母的两侧。因此我们只要尽可能的均分五种字母就好了。#include<bits/stdc++.h>using......
  • error: rpmdb, failed: BDB1507 Thread died in Berkeley DB library,error(-30973) fro
    rpm数据库错误,一般原因:yum更新等rpm软件安装进程被异常终止[root@49bdfccd7f61~]#yuminstall-yxxxerror:rpmdb:BDB0113Thread/process22858/140222685267712failed:BDB1507ThreaddiedinBerkeleyDBlibraryerror:db5error(-30973)fromdbenv->failchk:BDB0......
  • Codeforces Round 972 (Div. 2) 补题记录(A~C,E1)
    dproundagainA发现构造若干个\(a\)然后接若干个\(e\)接若干个\(i\)接若干个\(o\)再接若干个\(u\)且让这些字母的出现次数尽量相等最优。直接构造时间复杂度为\(O(n)\)。voidsolve(unsigned__testid=1){intn;cin>>n;F(i,0,4){intcnt=n......
  • Codeforces Round 969 (Div. 2)
    传送门A.题意:集合里有\([l,r]\),每次操作选择集合中三个互质的不同的整数并从集合中删除,最多可以进行多少次操作\(gcd(i,i+1)=1\),每次选择相邻的三个数,且第一个数为奇数,这样保证这三个数一定互质,判断\(l\)和\(r\),统计个数即可。#include<bits/stdc++.h>usingnamesp......
  • 洛谷P10973 Coins
    //经典多重背包动态规划题#include<iostream>#include<cstring>usingnamespacestd;constintN=1e5+10;intused[N];intf[N],a[N],c[N];intn,m;intmain(){  while(cin>>n>>m&&(n||m))  {    memset(f,0,sizeoff);f[0]......
  • Codeforces Round 972 (Div. 2)
    A.SimplePalindrome给定整数\(n\),构造长度为\(n\)的只由aeiou的字符串,使得它的回文子序列最少。容易发现aia不如aai优,贪心的将每种字符放在一起,并将总个数尽量均分到每个字符上。点击查看代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglo......
  • Codeforces Round 970 (Div. 3) 复盘
    CodeforcesRound970(Div.3)Sep/01/202422:35UTC+8length02:15好闲啊,还要写div3的复盘,就当听歌的同时练习翻译兼打字了。总而言之还是太菜了#Who=Penalty*ABCDEFGH1624BaSEc1d6250+00:04+00:19+00:24+00:34+01:17+01:32因为开学前......
  • Codeforces Round 968 (Div. 2)
    传送门A.判断首位字符是否相等即可#include<bits/stdc++.h>usingnamespacestd;constintN=1e6+7;voidsolve(){intn;strings;cin>>n>>s;if(s[0]==s[n-1])cout<<"No"<<endl;elsecout<&l......