zoukankan      html  css  js  c++  java
  • CodeFoorces 803C Maximal GCD

    枚举。

    枚举$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
    ");
    		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
    ");
    	}
    	else 
    	{
    		for(long long i=1;i<=k;i++)
    		{
    			printf("%lld",ans[i]);
    			if(i<k) printf(" ");
    			else printf("
    ");
    		}
    	}
    
    	return 0;
    }
    
  • 相关阅读:
    sentinel-initFunc&控制台
    Sentinel-FlowSlot
    Sentinel-AuthoritySlot&SystemSlot&LogSlot
    Sentinel-DegradeSlot
    Sentinel-ClusterBuilderSlot
    Sentinel-NodeSelectorSlot
    Sentinel整体架构
    Recyclers对象池设计
    加密算法的使用场景
    FastDFS分布式
  • 原文地址:https://www.cnblogs.com/zufezzt/p/6837117.html
Copyright © 2011-2022 走看看