Pagini recente » Cod sursa (job #268618) | Cod sursa (job #135948) | Cod sursa (job #836360) | Cod sursa (job #2956286) | Cod sursa (job #15158)
Cod sursa(job #15158)
#include <iostream>
#include <fstream>
unsigned long a[2][32640];
using namespace std;
int main(int argc, char* argv[]){
int n;
long S,L,lim;
ifstream inf("1-sir.in");
ofstream outf("1-sir.out");
inf >> n;
inf >> S;
inf.close();
L = n*(n-1)/2;
if (S<-L || S>L){
outf << 0;
return 1;
}
int i,j;
a[1][0] = 1;
for(i=2;i<=n;i++){
lim = i*(i-1)/2;
for(j=0;j<=lim;j++){
a[i%2][j]=a[(i+1)%2][abs(j-(i-1))]+\
((j+(i-1)>lim)?0:a[(i+1)%2][j+(i-1)]);
}
}
outf << a[(i+1)%2][abs(S)];
outf.close();
return 0;
}