求调 红(lan)题 WA
查看原帖
求调 红(lan)题 WA
744562
Aya_tt楼主2022/7/19 22:42
#include<bits/stdc++.h>
using namespace std;
struct qqq{
	int p,w;
}q[110];
int n,sum1,sum2,l;
bool cmp(qqq a,qqq b){
	return a.p<b.p;
}
int main(){
    cin>>n;
    for(int i = 1;i <= n;i++){
    	cin>>q[i].p>>q[i].w;
    	if(q[i].p > 0) sum1++;
    	else sum2++;
	}
	q[0].p = -11111;
	int k;
	sort(q + 1,q + n + 1,cmp);
	for(int i = 1;i <= n;i++){
    	if(q[i - 1].p < 0 && q[i + 1].p > 0){
    		k = i - 1;//找0坐标大致位置
         break;
		}
	}
	int ans = 0;
	if(sum1 < sum2){
		for(int i = k + 1;i <= n;i++){
			ans += q[i].w;
		}
		for(int i = k;i >= k - sum1 + 1;i--){
			ans += q[i].w;
		}
		cout<<ans;
		return 0;
	}
	if(sum1 == sum2){
		for(int i = k + 1;i <= n;i++){
			ans += q[i].w;
		}
		for(int i = k;i >= 1;i--){
			ans += q[i].w;
		}
		cout<<ans;
		return 0;
	}
	if(sum1 > sum2){
		for(int i = k + 1;i <= k + sum2 + 1;i++){
			ans += q[i].w;
		}
		for(int i = k;i >= 1;i--){
			ans += q[i].w;
		}
		cout<<ans;
		return 0;
	}
}

没想到,我会被这种水题教育,我怎么也不知道我哪里RE了。

2022/7/19 22:42
加载中...