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

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

时间:2024-09-21 20:50:22浏览次数:17  
标签: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
    注意读题,每次拿完之后是放在开头。所以先手不败,因为最后剩下两个的时候,先手一定可以取较小值。考虑怎样会出现平局?首先已经知道了先手不败,那么对于后手来说,他追求的就是平局,也就是尽可能的保证每一步都都与先手相同。所以,如果是回文串,或者两两相同,或者回文串包两两相同的情况,才......
  • 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 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 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......