记录编号 |
159941 |
评测结果 |
AAAAAAAAAAAAAA |
题目名称 |
奶牛跑步2 |
最终得分 |
100 |
用户昵称 |
Satoshi |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.016 s |
提交时间 |
2015-04-23 12:33:43 |
内存使用 |
9.47 MiB |
显示代码纯文本
#include <fstream>
#include <map>
#include <algorithm>
#include <cmath>
#include <vector>
using namespace std;
ifstream in("cowjogb.in");
ofstream out("cowjogb.out");
long long n,t;
long long f[100001]={0},c[100001]={0};
long long ans=1;
int p[100001]={0};
int b[100001]={0};
int maxs[100001][18]={0};
map<long long,int>F;
vector<int> q;
int main()
{
int i,j,m=0,l,r,shang;
long long a,bb,e;
in>>n>>t;
for(i=1;i<=n;i++)
{
in>>a>>bb;
f[i]=a+bb*t;
c[i]=f[i];
}
sort(c+1,c+n+1);
for(i=1;i<=n;i++)
{
if(c[i]==c[i+1])
{
c[i]=-1;
}
}
for(i=1;i<=n;i++)
{
if(c[i]!=-1)
{
m++;
F[c[i]]=m;
}
}
for(i=1;i<=n;i++)
{
f[i]=F[f[i]];
b[i]=f[i];
}
q.push_back(100001);
for(i=n;i>=1;i--)
{
bool flag=1;
for(j=0;j<q.size();j++)
{
if(b[i]<q[j])
{
flag=0;
q[j]=b[i];
break;
}
}
if(flag)q.push_back(b[i]);
}
out<<q.size()<<endl;
return 0;
}