new file: P5661.cpp
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
struct T
|
||||||
|
{
|
||||||
|
int price, time;
|
||||||
|
bool used;
|
||||||
|
} q[100005];
|
||||||
|
int head, tail, n, cost;
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// freopen("transfer.in","r",stdin);
|
||||||
|
// freopen("transfer.out","w",stdout);
|
||||||
|
cin >> n;
|
||||||
|
for (int i = 0; i < n; ++i)
|
||||||
|
{
|
||||||
|
int op, price, time;
|
||||||
|
cin >> op >> price >> time;
|
||||||
|
if (op == 0)
|
||||||
|
{
|
||||||
|
cost += price;
|
||||||
|
q[tail].time = time + 45;
|
||||||
|
q[tail++].price = price;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (head < tail && q[head].time < time)
|
||||||
|
head++;
|
||||||
|
bool found = 0;
|
||||||
|
for (int j = head; j < tail; ++j)
|
||||||
|
{
|
||||||
|
if (q[j].price >= price && !q[j].used)
|
||||||
|
{
|
||||||
|
found = 1, q[j].used = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found)
|
||||||
|
cost += price;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cout << cost << endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user