Cod sursa(job #2890552)
Utilizator | Data | 15 aprilie 2022 22:20:57 | |
---|---|---|---|
Problema | Oite | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <fstream>
#include <algorithm>
#include <unordered_map>
using namespace std;
ifstream in("oite.in");
ofstream out("oite.out");
int c, l, a[1024], nr;
unordered_map <int, int> mp;
int main(){
in >> c >> l;
for(int i = 1; i <= c; i++)
in >> a[i];
sort(a + 1, a + c + 1);
for(int i = 2; i <= c; i++) {
for(int j = i + 1; j <= c; j++)
if(mp.find(l - a[i] - a[j]) != mp.end())
nr += mp[l - a[i] - a[j]];
for(int j = 1; j < i; j++) {
mp[a[i] + a[j]]++;
}
}
out << nr;
return 0;
}