记录编号 311211 评测结果 EAAAETAETAATAAETAAAA
题目名称 从零开始的生存时间 最终得分 60
用户昵称 GravatarMagic_Sheep 是否通过 未通过
代码语言 C++ 运行时间 30.448 s
提交时间 2016-09-24 08:32:25 内存使用 46.84 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
long long a[1500005],ans,lim;
inline void get1(long long &x)
{
	char ch;
	while(ch=getchar(),ch<48||ch>57);
	x=ch-48;
	while(ch=getchar(),ch>47&&ch<58)x=x*10+ch-48;
}
int MAIN()
{
    freopen("Re_Rest.in","r",stdin);
    freopen("Re_Rest.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        get1(a[i]);
    }
    sort(a+1,a+1+n);
    scanf("%d",&m);
    for(int i=1;i<=m;i++)
    {
        scanf("%lld",&lim);
        ans=0;
        int L=1,R=n;
        while(R>L)
        {
            if(L==R) break;
            if(a[L]+a[R]>lim)
            {
                R--;
            } 
            else if(a[L]+a[R]<=lim)
            {
                ans+=R-L;
                L++;
            }
        }
        printf("%lld\n",ans);
    }
    return 0;
}
int main(){;}
int EZOI=MAIN();