# 【贪心】【TOJ4107】【A simple problem】

Given three integers n(1n1018)m(1m105)k(1k1018). you should find a list of integer A1,A2,,Am which satisfies three conditions:
1. A1+A2++Am=n.
2. 1Aik1 for each (1im).
3. GCD(A1,A2,,Am)=1.GCD means the greatest common divisor
4. if i<j then AiAj.
As the author is too lazy to write a special judge, if there's no answer ouput "I love ACM", And if there's more than one answer, output the one has the minimum A1, and if there still multiple answer make theA2 as small as possible, then A3,A4

m=1  直接 “I love ACM”

m=2

m=3

3 3 1

1 1 1

1 1 4

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <ctime>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <string>
#define oo 0x13131313
using namespace std;
long long n,m,k;
long long gcd(long long a,long long b)
{
long long r;
while(b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
long long A[100000+5];
void do1()
{
if(n%2==1)
{
long long p=n/2+1;
if(p<=k-1) printf("%lld %lld\n",p,p-1);
else printf("I love ACM\n");
}
else
{
int ok=1;
long long a=n/2,b=n/2;
while(a+1<=k-1&&b-1>=1)
{
a++;
b--;
if(gcd(a,b)==1)
{
ok=0;
printf("%lld %lld\n",a,b);
break;
}
}
if(ok)
printf("I love ACM\n");
}
}
void do2()
{
memset(A,0,sizeof(A));
for(int i=1;i<=m;i++)
{
A[i]=n/m;
}
for(int i=1;i<=n%m;i++)
{
A[i]++;
}
if(n%m==0&&n!=m)
{
A[1]++;A[m]--;
}
if(A[1]<=k-1&&A[m]>=1)
{
for(int i=1;i<=m;i++)
{
printf("%lld",A[i]);
if(i!=m) printf(" ");
}
printf("\n");
}
else printf("I love ACM\n");
}
int main()
{
while(cin>>n>>m>>k)
{
if(m==1&&n!=1||k==1) printf("I love ACM\n");
else if(m==1&&n==1) printf("1\n");
else
{
if(m==2) do1();
else if(m>=3) do2();
}
}
}


#### MATLAB A Practical Introduction to Programming and Problem Solving (4th Edition)

2016年09月27日 21.51MB 下载

#### A Hilbert Space Problem Book(Halmos)

2013年11月30日 12.09MB 下载

#### Demo program for symbin development

2009年03月22日 25KB 下载

#### Rapid Object Detection using a Boosted Cascade of Simple Features

2013年10月28日 195KB 下载

#### Nonlinear Component Analysis as a Kernel Eigenvalue Problem

2010年03月17日 610KB 下载

#### Think Like a Programmer-An Introduction to Creative Problem Solving

2018年01月15日 7.05MB 下载

#### A simple transmit Diversity Technique for Wireless Communications

2010年10月27日 220KB 下载

#### On a problem of formal logic___ramsey___1928

2011年03月11日 1.39MB 下载

#### A Practical Introduction to Computer Architecture.pdf

2009年08月09日 9.45MB 下载

#### A Simple and Highly Mobile Hexapod Robot

2009年09月14日 257KB 下载