记录编号 | 448866 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [NOIP 2011]选择客栈 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.197 s | ||
提交时间 | 2017-09-13 15:25:11 | 内存使用 | 44.56 MiB | ||
#include<bits/stdc++.h> using namespace std; int n,k,p,last[200005],cnt[200005][55],ans; struct hotel{ int col,cost; }a[200005]; int main() { freopen("hotel.in","r",stdin); freopen("hotel.out","w",stdout); scanf("%d%d%d",&n,&k,&p); for(int i=1;i<=n;i++)scanf("%d%d",&a[i].col,&a[i].cost),a[i].col++; int now=0; for(int i=1;i<=n;i++){ if(a[i].cost<=p)now=i; last[i]=now; } for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ cnt[i][j]=cnt[i-1][j]; } cnt[i][a[i].col]++; } for(int i=1;i<=n;i++){ ans+=cnt[last[i]][a[i].col]; if(last[i]==i)ans--; } cout<<ans; return 0; }