Codeforces Round #153 (Div. 2) 笔记

昨天晚上太纠结了...因为C题数组少开了一位,还风骚地锁住,想要去黑别人...然后刚点完就觉得不对,数组貌似开小了,然后...然后就后悔也来不及了,最后判题的时候以为暴零了,其实是在pending...最后就最水的A题过了,唉,这rating掉到解放前了ToT

C - Points on Line

就是个枚举+二分....唉,昨天脑子僵掉了

View Code
#include<iostream>
#include<algorithm>
using namespace std;
int va[110000];
int main()
{
    int n,k,i;
    __int64 ans;
    while(scanf("%d%d",&n,&k)!=EOF)
    {
        ans=0;
        for(i=1;i<=n;i++)
            scanf("%d",&va[i]);
        for(i=1;i<=n;i++)
        {
            int now=upper_bound(va+1,va+n+1,va[i]+k)-va;
            __int64 cnt=now-i-1;
            ans+=cnt*(cnt-1)/2;
        }
        printf("%I64d\n",ans);
    }
    return 0;
}

 

posted @ 2012-12-07 01:53  破晓べ  阅读(174)  评论(0编辑  收藏  举报