寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C++ #Volume25 - 2523 : Time Complexity

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題 "Time Complexity"
https://onlinejudge.u-aizu.ac.jp/problems/2523
・実行時間を暗算で...
僕が作成、提出したコードは、以下のとおりです。

Aizu Online Judge in C++ #Volume25 - 2523 : Time Complexity
/*
Aizu Online Judge in C++ #Volume25 - 2523 : Time Complexity
https://onlinejudge.u-aizu.ac.jp/problems/2523
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(void){
    ll n,t,k;
    cin>>n>>t;
    ll TLE=1000000000/t+1,num=0;
    while(scanf(" n^%d+ ",&k)==1){
        ll s=1;
        for(ll i=0;i<k;i++){
            s=min(s*n,TLE);
        }
        num=min(num+s,TLE);
    }
    if(num<TLE){
        cout<<num*t<<endl;
    }else{
        cout<<"TLE\n";
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/