結果

問題 No.319 happy b1rthday 2 me
ユーザー Ashurnasirpal
提出日時 2015-12-12 14:35:53
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,564 bytes
コンパイル時間 1,467 ms
コンパイル使用メモリ 163,032 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-15 08:43:42
合計ジャッジ時間 2,336 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = numeric_limits< int >::max()/3;
ll dp[20];
ll s_to_l(string s){
stringstream ss;
ll res;
ss << s;
ss >> res;
return res;
}
string l_to_s(ll s){
stringstream ss;
string res;
ss << s;
ss >> res;
return res;
}
ll count(string s){
int size = (int)s.size();
ll res = 0;
if(size == 1){
if(s[0] >= '2')return 1;
else return 0;
}else if(size == 2){
if(s_to_l(s) >= 22)return 3;
else if(s_to_l(s) >= 12)return 2;
else return 1;
}
res += 1;
for(int i = 0;i < size-2;++i){
res += (ll)pow(10,i);
}
if(s[0]-'0' > 3){
res += (ll)pow(10,size-2);
}else if(s[0]-'0' == 2 &&
s[size-1]-'0' >= 2){
res += s_to_l(s.substr(1,size-2))+1;
}else if(s[0]-'0' == 2){
res += s_to_l(s.substr(1,size-2));
}
if(s_to_l(s.substr(size-2,2)) >= 12)dp[2] = 1;
else dp[2] = 0;
for(int i = 3;i <= size;++i){
dp[i] = (ll)pow(10,i-3)*(i-2)*(s[size-i] - '0');
dp[i] += dp[i-1];
if(s_to_l(s.substr(size-i,2)) > 12){
dp[i] += (ll)pow(10,i-2);
}else if(s_to_l(s.substr(size-i,2)) == 12){
dp[i] += s_to_l(s.substr(size-i+2,i-2))+1;
}
}
/*
for(int i = 2;i <= size;++i){
cout << dp[i] << " ";
}
cout << endl;
*/
return res + dp[size];
}
int main(void){
ll s,t;
cin >> s >> t;
--s;
string sstr = l_to_s(s),tstr = l_to_s(t);
ll res = count(tstr)-count(sstr);
if(sstr == "1")--res;
if(sstr[(int)sstr.size()-1] == '1' &&
sstr[0] == '2')--res;
cout << res << endl;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0