結果

問題 No.648  お や す み 
ユーザー squid
提出日時 2018-02-09 23:21:55
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 835 bytes
コンパイル時間 1,346 ms
コンパイル使用メモリ 157,532 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-09 02:11:08
合計ジャッジ時間 3,422 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 69 WA * 15
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:39:25: warning: ‘m’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   39 |     else if(((m-1)*(m-1)+(m-1))/2==n){
      |             ~~~~~~~~~~~~^~~~~~~

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;

//constant
const long long int inf = 1<<30;
const int N = 1e5+1;
const int M = 1e5+1;

//variable
long long int n;

//function


int main()
{
    cin>>n;
    long long int l,r,m;
    l=0;
    r=n;
    //cout<<n<<endl;
    while(l<r){
        m=(l+r)/2;
        if((m*m+m)/2==n){
            break;
        }
        else if((m*m+m)/2>n){
            r=m;
        }
        else{
            l=m+1;
        }
        
    }
    if((m*m+m)/2==n){
        cout<<"YES"<<endl;
        cout<<m<<endl;
    }
    else if(((m-1)*(m-1)+(m-1))/2==n){
        cout<<"YES"<<endl;
        cout<<m-1<<endl;
    }
    else if(((m+1)*(m+1)+(m+1))/2==n){
        cout<<"YES"<<endl;
        cout<<m+1<<endl;
    }
    else{
        cout<<"NO"<<endl;
        //cout<<m<<endl;
    }
    
    

    return 0;
}
0