全WA求助,本地跑没问题
查看原帖
全WA求助,本地跑没问题
359422
无咕_楼主2021/2/3 15:45

本地跑没问题,而且本地过了2个点(1个一个样例,讨论里有人发了一个点,下载的一个点)

在洛谷IDE跑就有问题,我该怎么办qaq

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAX=1e4+9;
struct Node{
	int tim,id;
}_[MAX];
//bool cmp(Node a,Node b){
//	return a.tim<b.tim;
//}
int n,a[MAX],b[MAX],ans[MAX];
void paixu(){for(int i=1;i<=n-1;i++)for(int j=i+1;j<=n;j++)if(_[i].tim>_[j].tim)swap(_[i],_[j]);}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>b[i];
	for(int i;i<=n;i++)_[i].tim=min(a[i],b[i]),_[i].id=i;
//	sort(_+1,_+n+1,cmp);
	paixu();
//	for(int i=1;i<=n;i++)cout<< _[i].tim <<"  ---"<<endl;
	int num_ans1=0,num_ans2=n+1;//a从头,b从尾 
	for(int i=1;i<=n;i++){
		if(a[_[i].id]==_[i].tim)ans[++num_ans1]=_[i].id;
		else if(b[_[i].id]==_[i].tim)ans[--num_ans2]=_[i].id;
	}int a1=0,b1=0;
	for(int i=1;i<=n;i++){
		a1+=a[ans[i]];
		if(b1<a1)b1=a1;
		b1+=b[ans[i]];
	}cout<<max(a1,b1)<<endl;
	for(int i=1;i<=n;i++)cout<<ans[i]<<" ";
	cout<<endl;
	return 0;
}
2021/2/3 15:45
加载中...