AcWing 500. 选择客栈
原题链接
中等
作者:
光在黑暗中发亮
,
2019-08-16 11:36:34
,
所有人可见
,
阅读 880
C++ 代码
#include <iostream>
using namespace std;
const int N=200010;
int n,k,p;
int c[N],price[N];
int t[500];
int main()
{
int ans=0;
cin>>n>>k>>p;
for(int i=0;i<n;i++)
{
cin>>c[i]>>price[i];
t[c[i]]++;
}
for(int i=0;i<n-1;i++)
{
t[c[i]]--;
int x=t[c[i]];
if(price[i]<=p) {ans+=t[c[i]];continue;}
bool cheap=false;
for(int j=i+1;j<n;j++)
{
if(price[j]<=p) cheap=true;
if(c[j]!=c[i]||j==i) continue;
if(!cheap) {t[c[i]]--;continue;}
ans+=t[c[i]];t[c[i]]=x;break;
}
}
cout<<ans;
return 0;
}
你这是打卡还是题解啊`~~