Pagini recente » Cod sursa (job #109914) | Egyptian Fractions | Cod sursa (job #1520473) | Cod sursa (job #1712745) | Cod sursa (job #17189)
Cod sursa(job #17189)
#include <iostream>
#include <fstream>
unsigned long a[2][32640];
using namespace std;
int main(int argc, char* argv[]){
int n;
long long S;
long 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;
outf.close();
return 0;
}
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][(j-(i-1)>0)?(j-(i-1)):(i-1-j)]+\
((j+(i-1)>lim)?0:a[(i+1)%2][j+(i-1)]);
}
}
outf << a[(i+1)%2][(S>0)?S:(-S)];
outf.close();
return 0;
}