QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#307649#7964. 转化ATM12345#WA 90ms27280kbC++141.5kb2024-01-18 23:31:542024-01-18 23:31:55

Judging History

你现在查看的是最新测评结果

  • [2024-01-18 23:31:55]
  • 评测
  • 测评结果:WA
  • 用时:90ms
  • 内存:27280kb
  • [2024-01-18 23:31:54]
  • 提交

answer

#include <bits/stdc++.h>
#define ll long long
#define LL long long
#define ls p<<1
#define rs p<<1|1
#define Ma 1000005
#define mod 1000000007
#define PLL pair<ll,ll>
#define PDD pair<double,double>
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define fi first
#define se second
#define N 61
#define pb push_back
#define ld long double
#define all(x) x.begin(),x.end()
#define inf 1e18

using namespace std;
ll n,m,k;
ll a[Ma],b[Ma],c[Ma];
ll all=0,all2=0;

struct node{
	ll a,b,c;
	bool operator <(const node &A)const{
		if (b==A.b)
			return c>A.c;
		return b>A.b;
	}
};

void sol()
{
	cin>>n;
	for (ll i=1;i<=n;i++)
		cin>>a[i];
	for (ll i=1;i<=n;i++)
		cin>>b[i];
	for (ll i=1;i<=n;i++)
		cin>>c[i];
	for (ll i=1;i<=n;i++)
	{
		if (a[i])
			a[i]+=c[i],c[i]=0,all+=min(a[i],b[i]);
		else if (b[i]&&c[i]) all2+=min(b[i]-1,c[i]);
	}
	for (ll i=1;i<=n;i++)
	{
		ll ans=all+a[i]-min(a[i],b[i]);
		if (ans)
			ans+=all2;
		if (!a[i]&&all2) ans+=c[i]-max(0ll,min(b[i]-1,c[i]));
		printf("%lld ",ans);
	}
	printf("\n");
	ll ans=0,ok=0;
	vector <node> v;
	for (ll i=1;i<=n;i++)
	{
		ans+=a[i];
		if (a[i])
		{
			ans+=c[i];
			ok+=min(b[i],a[i]+c[i]);
		}
		else
			v.pb({a[i],b[i],c[i]});
	}
	sort(all(v));
	for (auto z:v)
	{
		if (!ok)
			continue;
		ok--;
		ans+=z.c,ok+=min(z.c,z.a+z.b);
	}
	printf("%lld\n",ans);
	return;
}

int main()
{
	IOS
	ll tt=1;
	//cin>>tt;
	while (tt--)
		sol();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 90ms
memory: 18824kb

input:

351493
0 37836791 46095966 46912389 21595941 0 3 86568894 3 0 0 0 0 39910208 0 2 4 86885825 1 67660833 0 24488082 52447896 0 67190942 70457491 11166998 90470470 11095822 0 0 5 47222930 2 49736354 0 0 0 77339472 0 5 3 0 25347727 0 3 2 0 48844622 0 65142757 1 73733079 80634668 46683173 0 31644647 9760...

output:

60073965049724 60073472376204 60073472376204 60073481727701 60073472376204 60073788737330 60073528128564 60073472376204 60073844358663 60073784179153 60073472376204 60073472376204 60073948665985 60073472376204 60073472376204 60073667185445 60073550333929 60073472376204 60073631548329 60073472376204 ...

result:

ok 2 lines

Test #2:

score: -100
Wrong Answer
time: 84ms
memory: 27280kb

input:

351493
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

output:

150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613 150613...

result:

wrong answer 1st lines differ - expected: '389246793 773056414 285033292 ...47596 273937941 15883376 150613', found: '150613 150613 150613 150613 15...13 150613 150613 150613 150613 '