Pagini recente » Cod sursa (job #2266409) | Cod sursa (job #1830059) | Cod sursa (job #1942524) | Istoria paginii runda/winner17/clasament | Cod sursa (job #730953)
Cod sursa(job #730953)
#include<fstream>
#include<cmath>
#include<vector>
#define MOD 9917
using namespace std;
int n,L,v[1030];
struct Suma{int sum,ind1;};
vector <int> H[9917];
inline void Citire()
{
int i;
ifstream fin("oite.in");
fin>>n>>L;
for(i=1;i<=n;i++)
fin>>v[i];
fin.close();
}
inline void Rezolvare()
{
register int i,j,suma,poz,sol=0;
vector <int>::iterator it;
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
suma=L-v[i]-v[j];
if(suma>=0)
{
poz=suma%MOD;
for(it=H[poz].begin();it!=H[poz].end();it++)
{
if(*it==suma)
sol++;
}
}
}
for(j=1;j<i;j++)
{
suma=v[i]+v[j];
H[suma%MOD].push_back(suma);
}
}
ofstream fout("oite.out");
fout<<sol<<"\n";
fout.close();
}
int main()
{
Citire();
Rezolvare();
return 0;
}