从没见过开O2加这么多分的
查看原帖
从没见过开O2加这么多分的
550752
Alfred_zhc楼主2021/9/25 19:27

代码

#include <bits/stdc++.h>

int n, k[3], ttop=0;
// n为记录个数, k是当前记录, ttop记录优惠个数
int sum=0;// 花费总和
int tnum[100010][3]={0};// 优惠票

int main()
{
	scanf("%d", &n);
	for(int i=0;i<n;i++)
	{
		scanf("%d%d%d", &k[0], &k[1], &k[2]);
		if(k[0]==0)
		{
			sum+=k[1];
			tnum[ttop][0]=k[2];
			tnum[ttop][2]=k[1];
			ttop++;
		}
		else if(k[0]==1)
		{
			sum+=k[1];
			for(int j=0;j<ttop;j++)
			{
				if(k[2]-tnum[j][0]<=45&&tnum[j][1]==0&&k[1]<=tnum[j][2])
				{
					sum-=k[1];
					tnum[j][1]=1;
					break;
				}
			}
		}
	}
	printf("%d", sum);
	return 0;
}

O2前45,后100【捂脸203e】
想知道哪里拖时间了【微笑1e】

2021/9/25 19:27
加载中...