Cod sursa(job #1589578)

Utilizator kasperDorin Puscasu kasper Data 4 februarie 2016 10:42:25
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<bits/stdc++.h>
#define MOD 10007
#define infile "oite.in"
#define outfile "oite.out"
using namespace std;
int c, l, ln[1030], sol;
vector <int> v[MOD];

ifstream fin(infile);
ofstream fout(outfile);
void refresh(int x)
{
    int i;
    int y=x%MOD;
    for (i=0; i<v[y].size(); i++)
        if (v[y][i]==x)
        {
            ++sol;
        }
}
int main()
{
    
    int i, j, k;
    fin>>c>>l;
    for( i=1; i<=c ; ++i) 
     fin>>ln[i];
    for(i=1; i<c; ++i)
    {
        for(j=i+1; j<=c; ++j)
            if(ln[i]+ln[j]<l)
                refresh(l-(ln[i]+ln[j]));
        for(k=1; k<i; ++k)
            v[(ln[i]+ln[k])%MOD].push_back(ln[i]+ln[k]);
    }
    fout<<sol;
    return 0;
}