Paste will expire never.
- // Меньшиков. Тренировка 13.
- // 13E. Сумма произведений [prodsum]
- // O(N*N)
- // ibelyaev: 07Jan2011
- #include <iostream>
- #include <cstdio>
- using namespace std;
- int n,s;
- void input()
- {
- cin>>n>>s;
- }
- int F(int n)
- {
- return n*(n-1)>>1;
- }
- void solve()
- {
- int amount = 0;
- for (int nz = 0; nz<=n; nz++)
- {
- for (int minus = 0; minus<=nz; minus++)
- {
- int plus = nz - minus;
- if (F(minus) + F(plus) - plus*minus == s)
- {
- amount++;
- // break нужен для того, чтобы не считать
- // одинаковые комбинации, содержащие
- // одинаковое количество нулей
- break;
- }
- }
- }
- cout<<amount;
- }
- int main()
- {
- freopen("input.txt","r",stdin);
- freopen("output.txt","w",stdout);
- input();
- solve();
- return 0;
- }
Editing is locked.