您的位置:首页 > 其它

济南模拟赛day3t1

2017-10-24 14:01 204 查看
#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

using namespace std;

const int maxn=1e5+10;

typedef long long ll;

int n,t;

struct node{

 ll x,v;

}s[maxn];

/*int find(int x){

 return fa[x]==x?fa[x]:fa[x]=find(fa[x]);

}*/

inline int read(){

 int num=0; char ch=getchar();

 while(ch<'0'||ch>'9') ch=getchar();

 while(ch>='0'&&ch<='9') num=num*10+ch-'0',ch=getchar();

 return num;

}

int main(){

 scanf("%d%d",&n,&t);

 int ans=n;

 for(int i=1;i<=n;i++){

  s[i].x=read(),s[i].v=read();

 }

 int now=1,nxt=now+1,las=1;

 while(true){

  if(now==n) break;

  if(s[now].v<s[nxt].v){

   nxt=nxt+1;

  }

  else{

   if((s[now].v-s[nxt].v)*t<(s[nxt].x-s[now].x)){

    las=nxt; now=nxt; nxt=nxt+1;

    ans-=(nxt-las+1);

   }

  }

 }

 cout<<ans<<endl;

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: