Pagini recente » Cod sursa (job #1804709) | Cod sursa (job #1250913) | Cod sursa (job #2975734) | Cod sursa (job #49557) | Cod sursa (job #2822178)
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
const int nmax=1024;
int v[nmax+1];
unordered_map <int, int> um;
int main(){
int n,l;
fin>>n>>l;
for(int i=1;i<=n;i++){
fin>>v[i];
}
for(int i=3;i<=n-1;i++){
for(int j=i+1;j<=n;j++){
int sv=v[i]+v[j];
um[sv]++;
}
}
int sol=0;
for(int i=2;i<=n-2;i++){
for(int j=1;j<=i-1;j++){
if(l-v[i]-v[j]>=0){
sol+=um[l-v[i]-v[j]];
}
}
for(int j=i+2;j<=n;j++){
int sv=v[i+1]+v[j];
um[sv]--;
}
}
fout<<sol<<"\n";
return 0;
}