Cod sursa(job #2524494)
| Utilizator | Data | 15 ianuarie 2020 20:09:28 | |
|---|---|---|---|
| Problema | 1-sir | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("1-sir.in");
ofstream fout("1-sir.out");
const int N = 260;
const int Mod = 194767;
int n, s, v, dp[N * N];
int main()
{
fin >> n >> s;
int v = (s - (n * n - 1) / 2) / n;
v = s - v * n;
dp[0] = 1;
for (int i = 1; i < n; ++i)
for (int j = v; j >= 0; --j)
dp[j] = (dp[j] + dp[j - i]) % Mod;
fout << dp[v];
}
/**
x + x + 1 + x + 2 + ... + x + n - 1 <= s
nx + n*(n-1)/2 <= s
nx <= s - n*(n-1)/2
x <= (s - n*(n-1)/2) / n
**/
