AC50% WA50%求助大佬
查看原帖
AC50% WA50%求助大佬
786741
linyangGG楼主2025/2/5 17:13
#include<iostream>
#include<algorithm>
using namespace std;
int S[10001]={1},p=0,Maxn[10001],mp=0;
struct node{
	int l,r;
}A[10001];
bool cmp(node x,node y){
//	if(x.l*x.r==y.l*y.r)return x.r<y.r;
	return (x.l*x.r)<(y.l*y.r);
}
void gaojincu(int x);
void gaojince(int x);
int main(){
	freopen("word.txt","r",stdin);
	int n;
	cin >> n;
	for(int i=0;i<=n;i++)cin >> A[i].l >> A[i].r;
	gaojince(A[0].l);
	sort(A+1,A+n+1,cmp);
	for(int i=1;i<=n;i++){
		gaojincu(A[i].r);
		gaojince(A[i].l);
	}
//	gaojincu(A[n].r);
	//调试代码
//	for(int i=0;i<=n;i++){
//		cout << A[i].l << " " << A[i].r << " endl ";
//	}
	for(int i=mp;i>=0;i--)cout << Maxn[i];
//	cout << endl << mp;
//	cout << endl;
//	system("pause");
	return 0;
}
void gaojincu(int x){
	int J[10001]={};//除法结果 
	int jp=-1,f=0,sum=0;
	for(int i=p;i>=0;i--){
		sum*=10;
		sum+=S[i];
		if((int)(sum/x)>0)f=1;
		if(f){
			jp++;
			if(sum){
				J[jp]=(int)(sum/x);
				sum%=x;
			}
			else J[jp]=0;
			
		}
	}
	int J2[10001]={};
	if(!f)jp=0;
	for(int i=jp;i>=0;i--)J2[jp-i]=J[i];
	int bj=-1;
	if(mp<jp){
		bj=1;
	}
	else if(mp==jp){
		for(int i=0;i<=jp;i++){
			if(Maxn[i]>J2[i]){
				bj=2;
				break;
			}
			else if(Maxn[i]<J2[i]){
				bj=1;
				break;
			}
		}
	}
	if(bj==1){
		mp=jp;
		for(int i=0;i<=jp;i++)Maxn[i]=J2[i];
	}
	//调试代码
//	for(int i=jp;i>=0;i--)cout << J2[i];
//	cout << endl;
}

void gaojince(int x){
	int Temp[101]={};
	int Sum[10001]={};
	int tp=-1;
	while(x){
		tp++;
		Temp[tp]=x%10;
		x/=10;
	}	
	int tempp,jw=0;
	for(int i=0;i<=tp;i++){
		for(int d=0;d<=p;d++){
			Sum[i+d]+=S[d]*Temp[i]+jw;
			jw=Sum[i+d]/10;
			Sum[i+d]%=10;
			tempp=i+d;
		} 
	}
	while(jw){
		tempp++;
		Sum[tempp]+=jw;
		jw=Sum[tempp]/10;
		Sum[tempp]%=10;
	}
	p=tempp;
	for(int i=0;i<=p;i++)S[i]=Sum[i];
	
	//调试代码
//	for(int i=p;i>=0;i--)cout << S[i];
//	cout << endl;
}

之前测试点7 RE,又交了一次,WA了??评判看心情? 大佬看看帮忙改,谢谢~

2025/2/5 17:13
加载中...