코드
#include <iostream>
#include <vector>
using namespace std;
int N, M, a[15001];
vector<int> v;
int ans;
void combi(int start, vector<int> v) {
if(v.size() == 2) {
if(a[v[0]]+a[v[1]] == M) {
ans++;
}
return;
}
for(int i=start+1; i<N; i++) {
v.push_back(i);
combi(i, v);
v.pop_back();
}
return;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>N>>M;
for(int i=0; i<N; i++) {
cin>>a[i];
}
combi(-1, v);
cout<<ans<<"\n";
return 0;
}
시간 초과가 났다..