记录编号 | 159696 | 评测结果 | AAAAAAAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 奶牛跑步 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.334 s | ||
提交时间 | 2015-04-22 13:57:09 | 内存使用 | 2.20 MiB | ||
#include<cstdio> using namespace std; int n,f[100012],r[100010],hs[100010]={0},ans=0; long long t; void set(int i) { f[i]=i; r[i]=1; } class miku { public: int id; int sp; }cow[100010]; int find(int x) { if(f[x]!=x) f[x]=find(f[x]); return f[x]; } int link(int a,int b) { f[a]=f[b]; return 0; } int main() { freopen("cowjoga.in","r",stdin); freopen("cowjoga.out","w",stdout); scanf("%d%lld",&n,&t); for(int i=1;i<=n;i++) { set(i); scanf("%d%d",&cow[i].id,&cow[i].sp); } for(int i=n-1;i>=1;i--) { int x=find(i),y=find(i+1); if(cow[x].sp>cow[y].sp&&(cow[x].sp-cow[y].sp)*t>=(cow[y].id-cow[x].id)) link(x,y); } for(int i=1;i<=n;i++) { int x=find(i); if(hs[x]==0) { ans++; hs[x]=1; //printf("%d %d\n",i,x); } } printf("%d",ans); return 0; }