陷死循环了,求助
查看原帖
陷死循环了,求助
776799
GODTREE楼主2022/10/4 16:05
#include <bits/stdc++.h>
#include <queue>
using namespace std;
int main(){
	queue<int> s;//把每一张优惠券存进队列s里
	int n,spend=0;
	cin>>n;
	int a[n][3],temp;
	for (int i=0;i<n;i++)
	{
		cin>>a[i][0]>>a[i][1]>>a[i][2];
	}
	for (int i=0;i<n;i++)
	{
		if (a[i][0]==0)//将优惠券存入队列s
		{
			s.push(i);
			spend+=a[i][1];
		}
		else  
		{  temp=s.back();
		    while (a[i][2]-a[temp][2]<=45)//删掉无法满足条件的票
		    {
		        s.pop();
		        temp=s.back();
		    }
		   
		    if (  (a[i][1]>=a[temp][1]))
		     {
		         spend+=a[i][1];
		     }
		     else
		      s.pop();//弹出用掉得票
		 
		}
	}
	cout<<spend;
}
2022/10/4 16:05
加载中...