Cod sursa(job #1347926)

Utilizator robx12lnLinca Robert robx12ln Data 19 februarie 2015 12:59:55
Problema Oite Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<vector>
#define DIM 1027
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
vector<int>H[DIM];
vector<int>::iterator it;
int v[DIM],n,i,j,a;
int s,sum,L,nr;
int cauta(int x,int p){
    vector<int>::iterator it;
    int nr=0;
    for(it=H[p].begin() ; it!=H[p].end() ; it++){
        if(x == *it){
            nr++;
        }
    }
    return nr;
}
int main(){
    fin>>n>>L;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    for(i=1;i<n;i++){
        for(j=i+1;j<=n;j++){
            s=v[i]+v[j];
            sum=L-s;
            if(sum>0){
               a=cauta(sum,sum%DIM);
               nr+=a;
            }
        }
        for(j=1;j<i;j++){
            s=v[i]+v[j];
            H[s%DIM].push_back(s);
        }
    }
    fout<<nr;
    return 0;
}