问题标题: 酷町堂:6936

0
1
已解决
刘意阳
刘意阳
初级天翼
初级天翼

哪位大神可以解释一下6936这题哪里错了?

#include <iostream>
#include <algorithm>
using namespace std;
struct Q{
	long long w,c;
}a[500005];
int n;
unsigned long long s;
bool cmp(Q a,Q b){
	return a.c+a.w>b.c+b.w;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].w>>a[i].c;
		s+=a[i].w;
	}
	sort(a+1,a+n+1,cmp);
	cout<<s-a[1].w-a[1].c;
	return 0;
}

 

刘意阳在2022-11-16 16:27:43追加了内容

1

刘意阳在2022-11-18 18:29:31追加了内容
#include <iostream>
#include <algorithm>
using namespace std;
struct Q{
	long long w,c;
}a[500005];
int n;
unsigned long long ans=0x7fffffffffffffff,sum;
bool cmp(Q a,Q b){
	return a.c+a.w>b.c+b.w;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].w>>a[i].c;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		sum=0;
		for(int j=i+1;j<=n;j++){
			sum+=a[j].w;
		}
		sum-=a[i].c;
		ans=min(ans,sum);
	}
	cout<<ans;
	return 0;
}

本蒟蒻有做出来了WA0分代码!求大佬指导。


0
0
0
0
0
0
熊潇然
熊潇然
初级启示者
初级启示者

输入和排序正确√

定义ans=0

遍历1~n
    定义sum=0
    遍历i+1~n,sum加上s[j].w
    sum减去s[i].c

    ans和sum取最小值赋值给ans
}

输出ans

 

不会的问我

0
我要回答