6 条题解

  • 1
    @ 2024-10-22 0:04:47

    J8A. 竹竿

    思路

    分析题目,可以看出就是求出 nn 个竹竿标记的两边的最大值和第二大值,然后将两个值相加。

    也可以理解为,将 nn 个竹竿从标记处切开,将得到的竹竿中长度最长的两个相加。

    Code

    #include <bits/stdc++.h>
    
    using namespace std;
    
    long long n, a, b, s[10000010], cnt;
    
    int main()
    {
    	scanf("%lld", &n);
    	for (int i = 0; i < n; i ++ )
    	{
    		scanf("%lld %lld", &a, &b);
    		s[cnt ++] = b;
    		s[cnt ++] = a - b;
    	}
    	sort(s, s + cnt);
    	cout << s[cnt - 1] + s[cnt - 2] << '\n';
    	return 0;
    }
    
    • @ 2025-1-18 22:13:51

      没有初始化 cnt,如果评测系统为 Windows 这个代码会 WA.

信息

ID
81
时间
3000ms
内存
512MiB
难度
2
标签
递交数
1027
已通过
251
上传者