Codeforces Beta Round #91 (Div. 2 Only) C. Lucky Sum
来源:互联网 发布:英国工资 知乎 编辑:程序博客网 时间:2024/04/26 15:22
原题链接
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <vector>#include <map>#include <cmath>#include <queue>#include <ctime> #define maxn 1000005#define INF 1e18using namespace std;typedef long long ll;ll solve(ll m){\\找到大于等于m的最小幸运数char ch[20];int cnt = 0;while(m){ch[cnt++] = m % 10;m /= 10;}ch[cnt] = 0; for(int i = cnt-1; i >= 0; i--){ if(ch[i] == 4 || ch[i] == 7) continue; if(ch[i] < 4){ ch[i] = 4; for(int j = i-1; j >= 0; j--) ch[j] = 4; break; } if(ch[i] < 7){ ch[i] = 7; for(int j = i-1; j >= 0; j--) ch[j] = 4; break; } if(ch[i] > 7){ ch[i] = 4; for(int j = i-1; j >= 0; j--) ch[j] = 4; ch[i+1]++; if(i+1 == cnt){ ch[i+1] = 4; cnt++; break; } for(int j = i+1; j < cnt; j++){ if(ch[j] > 7){ ch[j] = 4; ch[j+1]++; if(j+1 == cnt){ ch[j+1] = 4; cnt++; break; } } if(ch[j] > 4){ ch[j] = 7; break; } } break; } }ll ans = 0;for(int i = cnt-1; i >= 0; i--) ans = ans * 10 + ch[i];return ans;}int main(){//freopen("in.txt", "r", stdin);ll l, r;scanf("%I64d%I64d", &l, &r);ll ans = 0;while(1){ll d = solve(l);if(d >= r){ans += (r - l + 1) * d;break;}ans += (d - l + 1) * d;l = d + 1;}printf("%I64d\n", ans);return 0;}
0 0
- Codeforces Beta Round #91 (Div. 2 Only) C. Lucky Sum
- Codeforces Beta Round #91 (Div. 2 Only) D. Lucky Transformation
- Codeforces Beta Round #91 (Div. 2 Only)-E. Lucky Permutation
- Codeforces Beta Round #42 (Div. 2)-C. Lucky Tickets
- Codeforces Beta Round #16 (Div. 2 Only)——C
- Codeforces Beta Round #18 (Div. 2 Only)——C
- Codeforces Beta Round #74 (Div. 2 Only)——C
- Codeforces Beta Round #87 (Div. 2 Only) C. Party
- Codeforces Beta Round #4 (Div. 2 Only) C. Registration system
- C.Stripe(Codeforces Beta Round #18 (Div. 2 Only))
- Codeforces Beta Round #22 (Div. 2 Only)-C. System Administrator
- Codeforces Beta Round #9 (Div. 2 Only): C
- Codeforces Beta Round #80 (Div. 2 Only)
- Codeforces Beta Round #83 (Div. 2 Only)
- Codeforces Beta Round #86 (Div. 2 Only)
- Codeforces Beta Round #93 (Div. 2 Only)
- Codeforces Beta Round #4 (Div. 2 Only)
- Codeforces Beta Round #6 (Div. 2 Only)
- 创建子类编译报错问题
- wuzhicms 来源管理
- mysql命令
- 死锁的几种原因
- Double Dispatch(双分派)(c++ 版)
- Codeforces Beta Round #91 (Div. 2 Only) C. Lucky Sum
- Asp.net Cookie 集合 Values 增删改注意事项
- 后缀数组 倍增算法模板
- 斯坦福人工智能突破:结构递归神经网络用于 时空领域图像中的深度学习
- PAT-B 1001 害死人不偿命的(3n+1)猜想 (15)
- html 标签
- java集合中对象某属性比较排序Comparable与Comparator
- Spring Boot 整合Mybatis(步骤讲解) 附源码
- 调节系统声音最大,听筒和扬声器启动