#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 200005;
int n,k,p,ans;
int cnt[55],val[maxn],color[maxn];
int main()
{
scanf("%d%d%d",&n,&k,&p);
for(int i=1;i<=n;i++)
scanf("%d%d",&color[i],&val[i]);
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{
if(color[i] != color[j]) continue;
for(int l=i;l<=j;l++)
{
if(val[l] <= p)
{
ans ++;
break;
}
}
}
printf("%d\n",ans);
return 0;
}
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 200005;
int n,k,p,ans;
int cnt[55],val[maxn],color[maxn];
int sum[maxn];
int main()
{
scanf("%d%d%d",&n,&k,&p);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&color[i],&val[i]);
if(val[i] <= p)
sum[i] = sum[i-1] + 1;
else sum[i] = sum[i-1];
}
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{
if(color[i] != color[j]) continue;
if(sum[j] - sum[i-1] >= 1) ans ++;
}
printf("%d\n",ans);
return 0;
}
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 200005;
int n,k,p,ans;
int cnt[55],val[maxn],color[maxn];
int sum[maxn],pos[55][maxn];
int main()
{
scanf("%d%d%d",&n,&k,&p);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&color[i],&val[i]);
cnt[color[i]] ++;
pos[color[i]][cnt[color[i]]] = i;
if(val[i] <= p)
sum[i] = sum[i-1] + 1;
else sum[i] = sum[i-1];
}
for(int col=0;col<k;col++)
for(int i=1;i<cnt[col];i++)
for(int j=i+1;j<=cnt[col];j++)
{
if(sum[pos[col][j]] - sum[pos[col][i]-1] >= 1)
ans ++;
}
printf("%d\n",ans);
return 0;
}
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 200005;
int n,k,p,ans;
int cnt[55],val[maxn],color[maxn];
int sum[maxn],pos[55][maxn];
int main()
{
scanf("%d%d%d",&n,&k,&p);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&color[i],&val[i]);
cnt[color[i]] ++;
pos[color[i]][cnt[color[i]]] = i;
if(val[i] <= p)
sum[i] = sum[i-1] + 1;
else sum[i] = sum[i-1];
}
for(int col=0;col<k;col++)
for(int i=1;i<cnt[col];i++)
for(int j=i+1;j<=cnt[col];j++)
{
if(sum[pos[col][j]] - sum[pos[col][i]-1] >= 1)
{
ans += cnt[col] - j + 1;
break;
}
}
printf("%d\n",ans);
return 0;
}
原文:https://www.cnblogs.com/-Wind-/p/11854790.html