我是靠谱客的博主 稳重背包,最近开发中收集的这篇文章主要介绍codeforce-1770A Koxia and Whiteboards,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目大概意思就是有n个白板,每个白板上面都有数字,会有m个操作,这个操作是可以找到一个白板更改上面的数字,m个操作后找到写在白板上的最大整数总和

input
要求有t个范例,n,m代表上面操作,n_i是n个白板的数字,m_i是更改的数字,具体题目

 Problem - 1770A - Codeforces

下面就是代码了
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
#define repeat(i,n) for (int i = 0; i < (n); ++i)
int main() {
int _t;
cin >> _t;
repeat(_, _t) {
int n, m;
cin >> n >> m;
vector<long long> a(n + m);//用动态数组把n_i和m_i全存进去,由n=2,m=2,特殊点的观察发现m_i的最后一次更改必定在最大整数和里
repeat(i, n + m)scanf("%lld", &a[i]);//用long long因为数据范围超过了int
sort(a.begin(), a.end() - 1);//所以这里利用sort函数排序的时候最后一位不用排
reverse(a.begin(), a.end());最后把整个数字颠倒过来
long long ans = 0;
repeat(i, n)ans += a[i];
cout << ans << endl;输出即可
}
return 0;
}

写这个题解主要是为了巩固一下知识,如果有什么不对,望指正,如果有其他解法欢迎交流

最后

以上就是稳重背包为你收集整理的codeforce-1770A Koxia and Whiteboards的全部内容,希望文章能够帮你解决codeforce-1770A Koxia and Whiteboards所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部