记录编号 98184 评测结果 AAAAAAAAAA
题目名称 注水猪肉 最终得分 100
用户昵称 Gravatar超级傲娇的AC酱 是否通过 通过
代码语言 C++ 运行时间 0.115 s
提交时间 2014-04-21 20:54:08 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<vector>
#include<algorithm>
using namespace std;
struct Pig
{
	string name,sum;
};
vector<Pig>A;
bool cmp(Pig a,Pig b)
{
	if(a.sum.length()>b.sum.length())return true;
	if(a.sum.length()<b.sum.length())return false;
	for(int i=0;i<a.sum.length();i++){
		if(a.sum[i]>b.sum[i])
			return true;
		if(a.sum[i]<b.sum[i])
			return false;
	}
	if(a.name<=b.name)
		return true;
	return false;
}
inline string ADD(string,string);
int main()
{
	int i,n;
	string s1,s2,Ans="0";
	freopen("boss.in","r",stdin);
	freopen("boss.out","w",stdout);
	ios::sync_with_stdio(false);
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>s1>>s2;
		A.push_back((Pig){s1,s2});
		Ans=ADD(s2,Ans);
	}
	sort(A.begin(),A.end(),cmp);
	for(i=0;i<n;i++)
		cout<<A[i].name<<endl;
	int Len=Ans.length();
	for(i=0;i<490-Len;i++)
		cout<<0;
	if(Ans.length()<=490)cout<<Ans;
	else
		for(i=Ans.length()-490;i<Ans.length();i++)
			cout<<Ans[i];
	return 0;
}
inline string ADD(string x,string y)
{
	int i;
	string Ans;
	vector<int>X(max(x.length(),y.length())),Y(max(x.length(),y.length())),ans(1,0);
	for(i=0;i<x.length();i++)X[i]=x[x.length()-i-1]-'0';
	for(i=0;i<y.length();i++)Y[i]=y[y.length()-i-1]-'0';
	for(i=0;i<max(x.length(),y.length());i++)
	{
		ans.push_back((X[i]+Y[i]+ans[i])/10);
		ans[i]=(X[i]+Y[i]+ans[i])%10;
		
	}
	while(*(ans.end()-1)==0)
		ans.pop_back();
	for(i=0;i<ans.size();i++)
		Ans.push_back(ans[ans.size()-i-1]+'0');
	return Ans;
}