Cod sursa(job #1413028)

Utilizator delia_99Delia Draghici delia_99 Data 1 aprilie 2015 18:11:19
Problema Sandokan Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>

using namespace std;
int n,k,v[5010],Max=0,nr=0,p1,p2,i,x;
double comb;
int main()
{
    freopen("sandokan.in","r",stdin);
    freopen("sandokan.out","w",stdout);
    scanf("%d %d\n",&n,&k);
    comb=1.0;
    if(n==k)
        printf("1\n");
    else
    {
        for(i=1; i<=n; ++i)
        {
            scanf("%d ",&v[i]);
            if(v[i]>Max)
                Max=v[i];
        }
        for(i=1; i<=n; ++i)
            if(v[i]!=Max)
                ++nr;
        p1=nr;
        p2=k-1;
        for(i=1; i<=k-1; ++i)
        {
            comb=(double)comb*p1/p2;
            --p1;
            --p2;
            if((int)comb==comb)
              {
                  x=(int)comb%2000003;
                  comb=x*1.0;
              }
        }
        printf("%d\n",(int)(comb));
    }

    return 0;
}