社区讨论
TLE???全部???懵逼
P2278[HNOI2003] 操作系统参与者 5已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @mi7yfcui
- 此快照首次捕获于
- 2025/11/21 05:39 4 个月前
- 此快照最后确认于
- 2025/11/21 05:39 4 个月前
CPP
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
struct node
{
long long num;
long long time;
long long length;
long long first;
long long end;
}s[15001];
long long cnt=1,sum,timeo=1;
struct cmp
{
bool operator()(node x,node y)
{
if(x.first!=y.first) return x.first<y.first;
return x.time>y.time;
}
};
priority_queue<node,vector<node>,cmp>q;
int main()
{
while(scanf("%lld%lld%lld%lld",&s[cnt].num,&s[cnt].time,&s[cnt].length,&s[cnt].first))cnt++;
s[cnt].time=99999999999;s[cnt].num=99999999999;
while(sum<cnt-1)
{ sum++;
q.push(s[sum]);
while(!q.empty()&&timeo+s[q.top().num].length<=s[sum+1].time)
{
timeo+=s[q.top().num].length;
printf("%lld %lld\n",q.top().num,timeo);
q.pop();
}
if(!q.empty())s[q.top().num].length-=s[sum+1].time-timeo;
timeo=s[sum+1].time;
}
return 0;
}
回复
共 9 条回复,欢迎继续交流。
正在加载回复...