CF 111A

来源:互联网 发布:酒店网络怎么布置 编辑:程序博客网 时间:2024/04/30 12:00

题目链接:http://codeforces.com/problemset/problem/111/A

————————————————————————————————————

题目思路:

一道数学题,基本不等式。最大的那个数越大越好。

————————————————————————————————————

题目细节:

1、一开始忘记判断 n>y 这个情况,纠结了好一会。。

2、计算 (y-n+1)*(y-n+1) 的时候,由于一开始y定义的是int,导致最后结果也是int,会发生溢出。以后一定小心。

————————————————————————————————————

源代码:

#include <iostream>#include<stdio.h>using namespace std;#define MAX 9999999int main(){    long long int n = 0,y = 0;    long long int x = 0;    int i = 0;    scanf("%I64d%I64d%I64d",&n,&x,&y);    if(n>y) printf("-1");    else    {    if((y-n+1)*(y-n+1)+(n-1)>=x)    {       printf("%I64d\n",y-n+1);       for(i = 1;i<=n-1;i++)         printf("1\n");    }    else      printf("-1");    }    return 0;}