百思不得其解
  • 板块灌水区
  • 楼主kfc444
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/29 21:52
  • 上次更新2024/9/30 11:08:08
查看原帖
百思不得其解
766569
kfc444楼主2024/9/29 21:52

题目
样例过了,但是满江红,为什么呢??

#include <bits/stdc++.h>
using namespace std;

vector<int> tick;

int c[100001];

int main()
{
	int n;
	cin >> n;
	int ans=0;
	for (int i = 1; i <= n; i++)
	{
		int a, b;
		cin >> a >> b >> c[i];
		if (a==0)
		{
			ans+=b;
			tick.push_back(b);
		} 
		else
		{
			if (c[i]-c[i-1]>45)
			{
				tick.erase(tick.begin());
				ans+=b;
			}
			else
			{
				bool flag=false;
				for (int i = 0; i < tick.size(); i++)
				{
					if (tick[i]>=b) 
					{
						tick.erase(tick.begin()+i);
						flag=true;
						break;
					}
				}
				//cout << flag << endl;
				if (!flag) ans+=b; 
			}
		}
		//cout << ans << endl;
	} 
	cout << ans;
	return 0;
}

求调!thx!

2024/9/29 21:52
加载中...