50分哪里错了,求指出啊啊啊!!!!!!!!
查看原帖
50分哪里错了,求指出啊啊啊!!!!!!!!
1379315
zxlylmz楼主2024/6/28 13:24
#include<bits/stdc++.h>
using namespace std;
int n,k[11],a[10010][1010][3],b[10010][10010][3],i,j;
string c[10010];
int main(){
	cin>>n;
	int m=0;
	for(i=1;i<=n;i++){
		cin>>k[i];
		m=0;
		for(j=1;j<=k[i];j++){
			cin>>a[i][j][1];
			m+=a[i][j][1];
			a[i][j][2]=j;
		}
		for(j=1;j<=k[i];j++){
			cin>>b[i][j][1];
			m-=b[i][j][1];
			b[i][j][2]=j;
		}
		if(m<0){
			c[i]="No";
		}
		else{
			c[i]="Yes";
			for(j=1;j<=k[i];j++){
				for(int p=j+1;p<=k[i];p++){
					if(a[i][j][1]<a[i][p][1]){
						swap(a[i][j][1],a[i][p][1]);//排序a
						swap(a[i][j][2],a[i][p][2]);
					}
				}
			}
			for(j=1;j<=k[i];j++){
				for(int p=j+1;p<=k[i];p++){
					if(b[i][j][1]<b[i][p][1]){
						swap(b[i][j][1],b[i][p][1]);//排序b
						swap(b[i][j][2],b[i][p][2]);
					}
				}
			}
			m=0;
			for(j=1;j<=k[i];j++){
				m+=a[i][j][1];
				m-=b[i][j][2];
				if(m<0){
					c[i]="No";
					break;
				}
			}
		}
	}
	for(i=1;i<=n;i++){
		if(c[i]=="No"){
			cout<<"No"<<endl;
		}
		else{
			cout<<"Yes"<<endl;
			for(j=1;j<=k[i];j++){
				cout<<a[i][j][2]<<" ";
			}
			cout<<endl;
			for(j=1;j<=k[i];j++){
				cout<<b[i][j][2]<<" ";
			}
		}
	}
	return 0;
}
2024/6/28 13:24
加载中...