The numbers 11, 33, 66, 1010, 1515, 2121, 2828, 3636, 4545 and t_i=\frac{1}{2}i(i+1)t​i​​=​2​​1​​i(i+1), are called half-consecutive.

For given NN, find the smallest rr which is no smaller than NN such that t_rt​r​​ is square.

Input Format

The input contains multiple test cases.

The first line of a multiple input is an integer TT followed by TT input lines.

Each line contains an integer N~(1\le N\le 10^{16})N (1≤N≤10​16​​).

Output Format

For each test case, output the case number first.

Then for given NN, output the smallest rr.

If this half-consecutive number does not exist, output -1−1.

样例输入

4
1
2
9
50

样例输出

Case #1: 1
Case #2: 8
Case #3: 49
Case #4: 288

题目来源

2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
/*int main()
{
    long long i,t,tt,l;
    for(i=1;i<=10e16;i++)
    {
        t=i*(i+1);
        tt=t/2;
        l=sqrt(tt);//判断是否可以开平方!!!!!!!!
        if(l*l==tt)
            cout<<i<<endl;
        else
            continue;
    }
}直接枚举会超时12数个之后很久没出第十三个*/
/*int main()
{
   long long i,t,tt,l;
   for(i=1;i<=10e16;i++)
   {
       t=i*(i+1);
        tt=t/2;
        l=sqrt(tt);//判断是否可以开平方!!!!!!!!
        if(l*l==tt)
            cout<<i<<" "<<tt<<" "<<l<<endl;
        else
            continue;
   }
}l有规律,l i之间也有规律。。。。*/
/*int main()
{
    long long a[30],b[30];
    a[1]=1;
    a[2]=6;
    for(int i=3;i<=25;i++)
        a[i]=a[i-1]*6-a[i-2];
    b[1]=1;b[2]=8;b[3]=49;b[4]=288;
    long long k=14;
    for(int i=4;i<=25;i++)
    {
        k+=a[i-1]*2;
        b[i]=a[i]+k;
    }
}*/
//三角形数第n个三角形数sn=n*(n+1)/2
//既是三角形数又是完全平方数(正方形数)an=6*a[i-1]-a[i-2]+2
#define ll long long
int main()
{
    ll n;
    int t,cnt;
    ll a[25]={1,8,49,288,1681,9800,57121,332928,1940449,11309768,65918161,384199200,2239277041,13051463048,76069501249,443365544448,2584123765441,15061377048200,87784138523761,511643454094368,2982076586042449};
    cnt=1;
    cin>>t;
    while(t--)
    {
        scanf("%lld",&n);
        cout<<"Case #"<<cnt<<": ";
        if(n>2982076586042449)
        {
            cout<<-1<<endl;
            cnt++;
        }
        else
        {
            for(int i=0;i<=20;i++)
            {
              if(a[i]>=n)
              {
                  cout<<a[i]<<endl;
                  cnt++;
                  break;
              }
            }
        }
    }
}

2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 E. Half-consecutive Numbers相关推荐

  1. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛B: Out-out-control cars

    问题 B: Out-out-control cars 题目描述 Two out-of-control cars crashed within about a half-hour Wednesday a ...

  2. Skiing(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H)

    Problem Description In this winter holiday, Bob has a plan for skiing at the mountain resort. This s ...

  3. 计蒜客-2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛H题Skiing(拓扑序求DAG最长路)

    题意: 给定一个有向无环图,求该图的最长路. 思路: 由于是有向无环图,所以最长路肯定是一个入度为0到出度为0的路径,拓扑序在确定当前点之前能够考虑到所有到它的情况,所以最后取个最值即可. 代码: # ...

  4. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  5. 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)

    Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...

  6. Maximum Flow(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E)

    Problem Description Given a directed graph with nn nodes, labeled 0,1,⋯,n−1. For each <i, j> s ...

  7. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E Maximum Flow

    原题解链接:http://blog.csdn.net/kkkkahlua/article/details/78009087 他用的最小割的来求解最大流.认为只要讨论每一个点到0和n-1那个更小哪条边就 ...

  8. 2010 ACM/ICPC Online-Contest-SCU[四川赛区网络预选赛]

    Problem A.A Simple Problem 比赛时唯一做出来的一道题. 描述: Time limit: 1 second Memory limit: 256 megabytes There' ...

  9. 2017acm乌鲁木齐赛区网络赛F题tarjan缩点

    poj1236是问把一棵树变成强联通分量,于是答案就是rudu为0的和出度为0的最大值,因为假设入度为0的多一些,先每个出度为0的连接一个入度为0的,那么还剩一些入度为0的,这时候入度为0的随意连接一 ...

  10. 2014 ACM/ICPC 北京赛区网络赛解题报告汇总

    首页 算法竞赛» 信息聚合 ONLINE JUDGE 书刊杂志 BLOG» 新闻故事» 招聘信息» 投稿须知 2014 ACM/ICPC 北京赛区网络赛解题报告汇总 九月 21st, 2014 | P ...

最新文章

  1. 给View 添加手势,点击无反应 如何给View添加点击事件,手势方法
  2. 浅析linux容器--Docker
  3. nanopore测序第12期培训班(含新冠病毒分析)开始报名
  4. AngularJs学习笔记--expression
  5. maven静态资源导出(Ctrl+C+V)
  6. 关于python中带下划线的变量和函数 的意义,class类带一个下划线和带两个下划线的定义
  7. 嵌入式工作笔记0005---嵌入式发展和组成
  8. the python challenge_pythonchallenge 全部关卡提示
  9. 印度为何能频频诞生顶尖的程序员?
  10. 搭建dubbo框架的遇到的一些问题
  11. CSS图片重叠效果~秒懂
  12. 2016CCPC合肥赛区总结
  13. mybatisplus自动填充时间出现的问题
  14. Oracle开发技能提升之层次查询全面解析
  15. gimp中文版教程_GIMP中文详细教程.pdf
  16. u盘用bitlocker加密后无法读取访问怎么办?
  17. python爬取作品集_Python爬虫爬取哈利波特小说集,并用数据可视化剖析登场人物...
  18. [MySQL系列] 使用STRAIGHT_JOIN 优化inner join查询排序索引问题
  19. c语言用控制台写——俄罗斯方块
  20. 数据分析与爬虫实战视频——学习笔记(四)(糗事百科、天善智能、当当商城、sql输出)

热门文章

  1. 自学python编程免费教程-python编程入门 零基础学习Python基础(附带最新免费教程)...
  2. python自学行吗-零基础可以学会python吗?python好学吗?
  3. python基础编程语法-Python基础语法介绍:面向对象编程(上)
  4. python与excel-python3与Excel的完美结合
  5. python语言的主网址-怎么用Python提取域名中的主域名
  6. 编程语言python怎么读-编程零基础应当如何开始学习 Python?
  7. python入门经典代码-Python入门36道经典练习题
  8. python适合自学编程吗-Python为什么这么火?小孩子适合学习python编程吗?
  9. python读文件每一行-Python文件内容按行读取到列表中
  10. python能做什么工作-学Python能找到什么工作?这4种工作最热门!