Cod sursa(job #1523316)

Utilizator ancabdBadiu Anca ancabd Data 12 noiembrie 2015 16:46:16
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#include<vector>
#define MAX 1030

using namespace std;

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

int n, i, j, sm, k, c, nr;
int a[1025];
vector<int> s[MAX];

int main()
{
    fin >> n >> sm;
    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++)
        {
            c = sm - a[i] - a[j];
            if(c > 0)
                for(int k = 0; k < s[c%MAX].size(); k++)
                    if(s[c%MAX][k] == c)
                        nr++;
        }
        for(int j = 1; j < i; j++)s[(a[i]+a[j])%MAX].push_back(a[i] + a[j]);
    }
    fout << nr;
    return 0;
}