Cod sursa(job #929674)

Utilizator SpiriFlaviuBerbecariu Flaviu SpiriFlaviu Data 27 martie 2013 10:29:43
Problema Oite Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <vector>

#define MOD 4999
using namespace std;

ifstream fin("oite.in");
ofstream fout("oite.out");


vector<int> v[MOD+1];
int a[1001];
int n,L,sol;

int main()
{

    fin>>n>>L;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    for(int i=1;i<n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            int x = L-a[i]-a[j];
            if( x >=0)
                for(vector<int>::iterator it=v[x%MOD].begin();it!=v[x%MOD].end();it++)
                    if(*it == x);
                        sol++;
        }
        for(int j=1;j<i;j++)
        {
            int x = a[i]+a[j];
            v[x%MOD].push_back(x);
        }
    }
    fout<<sol;



    fin.close();
    fout.close();
    return 0;
}