Cod sursa(job #850011)

Utilizator gerd13David Gergely gerd13 Data 7 ianuarie 2013 22:06:37
Problema Oite Scor 100
Compilator cpp Status done
Runda 23dezile_5 Marime 0.97 kb
#include <fstream>
#include <vector>
#include <algorithm>
#define MAXOI 1025
#define MOD 10007
   
using namespace std;
   
   
int main() {
    int C, L;
    int oi[MAXOI];
    int result = 0;
       
    vector<int> hash[MOD];
   
    ifstream f("oite.in");
    ofstream g("oite.out");
   
    f>>C>>L;
       
    for (int i = 0; i < C; i++)   f>>oi[i];
      
       
   
    for (int i = 0; i < C; i++) {
        for (int j = i + 1; j < C; j++) {
            int sum = oi[i] + oi[j];
            if (L - sum > 0) {
                int poz = (L - sum) % MOD;
                for (int i = 0; i < (int) hash[poz].size(); i++) {
                    if (hash[poz][i] == L - sum) {
                        result ++;
                    }
                }
            }
        }
        for (int j = 0; j < i; j++) {
            hash[(oi[i] + oi[j]) % MOD].push_back(oi[i] + oi[j]);
        }
    }
       
    g<<result;
   
   return 0;
   
   
}