Cod sursa(job #1403148)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 27 martie 2015 03:55:16
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<cstdio>
#include<vector>
#define MOD 23833
using namespace std;
vector<int>L[25000];
vector<int>::iterator it;
int n,m,i,j,a,b,nr,ok,v[2000];
FILE *f,*g;
int main(){
    f=fopen("oite.in","r");
    g=fopen("oite.out","w");
    fscanf(f,"%d%d",&n,&m);
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&v[i]);
    }
    for(i=1;i<n;i++){
        for(j=i+1;j<=n;j++){
            a=m-v[i]-v[j];
            if(a>=0){
                b=a%MOD;
                for(it=L[b].begin();it!=L[b].end();it++){
                    if(*it==a){
                        nr++;
                    }
                }
            }
        }
        for(j=1;j<=i-1;j++){
            a=v[i]+v[j];
            L[a%MOD].push_back(a);
        }
    }
    fprintf(g,"%d",nr);



    fclose(f);
    fclose(g);
    return 0;
}