Cod sursa(job #1647765)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 10 martie 2016 21:59:50
Problema NextSeq Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#include <algorithm>
#define nmax 10025
using namespace std;
int n,m,p,k,v[nmax],a[nmax],b[nmax];
int s[nmax],sol;

int binarysearch(int j)
{
    int p=0;
    for (int bit=1<<13;bit;bit>>=1)
        if (p+bit<=n&&j>=v[p+bit])
            p+=bit;
    return p;
}
int main()
{
    int i,j,t;
    freopen("nextseq.in","r",stdin);
    freopen("nextseq.out","w",stdout);
    scanf("%d %d %d",&n,&m,&p);
    for (i=1;i<=n;i++)
        scanf("%d",&v[i]);
    sort(v+1,v+n+1);
    k=max(m,p);
    for (i=1;i<=m;i++) {
        scanf("%d",&j);
        s[i+k-m]-=binarysearch(j);
    }
    for (i=1;i<=p;i++) {
        scanf("%d",&j);
        s[i+k-p]+=binarysearch(j);
    }
    s[k]--;
    for (i=k;i>=1;i--)
        while (s[i]<0) {
            s[i]+=n;
            s[i-1]--;
        }
    for (i=1;i<=k;i++) {
        sol*=n;
        sol+=s[i];
    }
    if (sol<0) {
        printf("0\n");
        return 0;
    }
    printf("%d",sol);
    return 0;
}