CodeFoorces 803C Maximal GCD
2024-09-02 03:30:42
枚举。
枚举$gcd$,然后计算剩下的那个数能不能分成$k$个递增的数。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
using namespace std; long long b[100010];
long long ans[200010];
int sz;
long long n,k; void init()
{
for(long long i=1;i*i<=n;i++)
{
if(n%i!=0) continue;
b[sz++] =i;
if(i!=n/i) b[sz++] =n/i;
}
} int main()
{
scanf("%lld%lld",&n,&k);
init(); sort(b,b+sz); if(k>200000)
{
printf("-1\n");
return 0;
} int suc=0;
for(int i=sz-1;i>=0;i--)
{
long long sum = n/b[i];
long long p = (1+k)*k/2;
if(p>sum) continue; for(int j=1;j<=k;j++)
{
ans[j] = j;
sum = sum-ans[j];
}
ans[k]+=sum; for(int j=1;j<=k;j++)
{
ans[j]=ans[j]*b[i];
} suc=1;
break;
} if(suc==0)
{
printf("-1\n");
}
else
{
for(long long i=1;i<=k;i++)
{
printf("%lld",ans[i]);
if(i<k) printf(" ");
else printf("\n");
}
} return 0;
}
最新文章
- python 学习 第一课
- css3 -- 伪类与伪元素
- 【BZOJ】2172: Mario填格子
- JS小数点加减乘除运算后位数增加的解决方案
- javascript --- 设计模式之单体模式(二)
- Physically Based Render in Game 序
- Linux进程管理之task_struct结构
- 查看cpu、内存和硬盘
- CSS 尺寸 (Dimension)
- 【转】OpenGL相关函数库介绍
- java关键字 (jdk6),各自的含义是什么?
- EZOJ 网同14(蛋蛋与北大信科-Splay的颜色分离,寻找结点所在子树)
- JSP内置对象--response对象 (addCookie(),setHeader(),sendRedirect())
- 捕获arm托管磁盘虚拟机,并进行还原
- ES 19 - Elasticsearch的检索语法(_search API的使用)
- jQuery获取各种位置方法
- centos install jdk
- [iOS]深入理解GCD
- 【java】之类加载机制
- 三个php加密解密算法