Cod sursa(job #838734)

Utilizator stoicatheoFlirk Navok stoicatheo Data 20 decembrie 2012 13:57:35
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 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;
  
  
}