Cod sursa(job #2322426)
Utilizator | Andrei Mihailescu Andrei2000 | Data | 17 ianuarie 2019 19:27:45 |
---|---|---|---|
Problema | 1-sir | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <bits/stdc++.h>
#define mod 194767
using namespace std;
ifstream fin ("1-sir.in");
ofstream fout("1-sir.out");
int n,s,d[2][33000];
bool k=1;
inline void MOD(int &a, int b){
a+=b;
if(a>=mod){
a=a%mod;
}
}
int main()
{
fin>>n>>s;
s=max(s,-s);
if(s>(n-1)*n/2)
fout<<0<<'\n';
else{
d[0][0]=1;
for(int i=2;i<=n;++i){
for(int j=0;j<=i*(i-1)/2;++j){
d[k][j]=0;
MOD(d[k][j],d[k^1][abs(j-(i-1))]);
MOD(d[k][j],d[k^1][abs(j+(i-1))]);
}
k^=1;
}
fout<<d[k^1][s]<<'\n';
}
return 0;
}