1 条题解

  • 0
    @ 2025-8-24 22:33:52

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar cancan123456
    怄火。挥手。转圈。街舞。跳跳。献吻。跳绳。激动。发抖。磕头。爱情。飞吻。左太极。右太极。回头。

    搬运于2025-08-24 22:33:52,当前版本为作者最后更新于2021-09-24 21:25:40,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    首先假设我们只有两个账号,那么只能这么发:12121212…(第i个数表示发第i个帖子的账号编号)

    然后第一个数和第二个数是不能变的,然后假设我们又有了一个账号,那么我们肯定要选剩下的数中最大的。

    所以我们对 a3ana_3-a_n 排序,取出最大的 k2k-2 个数,加起来,然后再加上 a1+a2a_1+a_2,就得到了答案。

    Tips:开long long.

    代码:

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    #define maxn 10005
    int a[maxn]; 
    void inline solve() {
    	int n, k;
    	scanf("%d %d", &n, &k);
    	for (int i = 0; i < n; i++) {
    		scanf("%d", a + i);
    	}
    	long long ans = a[0] + a[1];
    	sort(a + 2, a + n);
    	for (int i = n - 1; i >= n - (k - 2); i--) {
    		ans += a[i];
    	}
    	printf("%lld\n", ans);
    }
    int main() {
    	int t;
    	scanf("%*d %d", &t);
    	for (int i = 1; i <= t; i++) {
    		solve();
    	}
    	return 0;
    }
    
    • 1

    「SWTR-7」My rating is -32(easy version)

    信息

    ID
    5450
    时间
    200ms
    内存
    16MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者