比赛 |
20200109 |
评测结果 |
ATTTTTTTTTTTT |
题目名称 |
Meetings |
最终得分 |
7 |
用户昵称 |
fmq03 |
运行时间 |
12.000 s |
代码语言 |
C++ |
内存使用 |
14.23 MiB |
提交时间 |
2019-12-25 20:59:44 |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,l,weight;
int sta[50001][2],we[50001];
int main(){
freopen("meetings.in","r",stdin);
freopen("meetings.out","w",stdout);
cin>>n>>l;
l*=2;//双倍化中点为顶点
for(int i=1;i<=n;++i){
cin>>we[i];
weight+=we[i];
cin>>sta[i][0]>>sta[i][1];
sta[i][0]*=2;
}
int sumwe=0;
int meet=0;
int first=1;
int last=n;
while(sumwe<weight/2){
for(int i=first;i<=last;++i){
sta[i][0]+=sta[i][1];
if(sta[i][0]==0){
++first;
sumwe+=we[i];
}else if(sta[i][0]==l){
--last;
sumwe+=we[i];
}else if(i!=first && sta[i][0]==sta[i-1][0]){
++meet;
sta[i][1]*=-1;
sta[i-1][1]*=-1;
}
}
}
cout<<meet<<endl;
return 0;
}