1789-数の和-グリディアルゴリズム


質問する



質問リンク:https://www.acmicpc.net/problem/1789

ポリシー

  • 異なるN個の自然数の和がSの場合Nの最大値を求めるㅄㅄ
  • だから1から順に加算して、その値がSを超える瞬間…N-1が答え
  • コード#コード#

    #include<cstdio>
    
    using namespace std;
    
    long long S;
    
    int main(){
    
        // freopen("../input.txt","rt",stdin);
        
        scanf("%lld",&S);
        long long sum = 0;
        int res = 0;
        for(int i=1; i<S; i++){
            if(i+sum > S) break;
            else{
                res++;
                sum += i;
            }
        }
        printf("%d\n",res);
        return 0;
    }
    
    
    

    感想


    さっぱりしている.