wgzs.
祝愿所有人都能够rp++,杜绝AFO

rp爆炸,运行可以让rp+=inf(使用了高精度):
#include <bits/stdc++.h>
using namespace std;
namespace ll{
const int MAX_LIMIT = 10000;//
struct long_long{
short x[MAX_LIMIT],len;
// long_long(){
// memset(x,0,sizeof(x));
// len = 1;
// }
};
const long_long _1 = {{0,1},1};
const long_long _0 = {{0,0},1};
const long_long _2 = {{0,2},1};
const long_long _5 = {{0,5},1};
const long_long _10 = {{0,0,1},2};
const long_long _100 = {{0,0,0,1},3};
// const long_long _inf = {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},60};
long_long operator + (const long_long &a,const long_long &b){
long_long c;
memset(c.x,0,sizeof(c.x));
c.len = max(a.len,b.len);
for(int i = 1;i <= c.len;i++){
c.x[i] += a.x[i]+b.x[i];
c.x[i+1] = c.x[i]/10;
c.x[i] %= 10;
}
if(c.x[c.len+1]) c.len++;
return c;
}
void operator += (long_long &a,const long_long &b){
long_long c;
memset(c.x,0,sizeof(c.x));
c.len = max(a.len,b.len);
for(int i = 1;i <= c.len;i++){
c.x[i] += a.x[i]+b.x[i];
c.x[i+1] = c.x[i]/10;
c.x[i] %= 10;
}
if(c.x[c.len+1]) c.len++;
a = c;
return;
}
bool operator == (const long_long &a,const long_long &b){
if(a.len != b.len) return 0;
for(int i = 1;i <= a.len;i++){
if(a.x[i] != b.x[i]) return 0;
}
return 1;
}
bool operator != (const long_long &a,const long_long &b){
if(a.len == b.len) return 0;
for(int i = 1;i <= a.len;i++){
if(a.x[i] != b.x[i]) return 1;
}
return 0;
}
bool operator > (const long_long &a,const long_long &b){
if(a.len > b.len) return 1;
else if(a.len < b.len) return 0;
for(int i = a.len;i >= 1;i--){
if(a.x[i] > b.x[i]) return 1;
else if(a.x[i] < b.x[i]) return 0;
}
return 0;
}
bool operator < (const long_long &a,const long_long &b){
if(a.len < b.len) return 1;
else if(a.len > b.len) return 0;
for(int i = a.len;i >= 1;i--){
if(a.x[i] < b.x[i]) return 1;
else if(a.x[i] > b.x[i]) return 0;
}
return 0;
}
long_long operator * (const long_long &a,const long_long &b){
long_long ans;
memset(ans.x,0,sizeof(ans.x));
ans.len = a.len+b.len-1;
for(int i = 1;i <= a.len;i++){
for(int j = 1;j <= b.len;j++){
ans.x[i+j-1] += a.x[i] * b.x[j];
ans.x[i+j] += ans.x[i+j-1] / 10;
ans.x[i+j-1] %= 10;
}
}
if(ans.x[ans.len+1]) ans.len++;
return ans;
}
void out(const long_long &x){
for(int i = x.len;i >= 1;i--){
cout << x.x[i];
}
return;
}
void operator *= (long_long &a,const long_long &b){
long_long ans;
memset(ans.x,0,sizeof(ans.x));
ans.len = a.len+b.len-1;
for(int i = 1;i <= a.len;i++){
for(int j = 1;j <= b.len;j++){
ans.x[i+j-1] += a.x[i] * b.x[j];
ans.x[i+j] += ans.x[i+j-1] / 10;
ans.x[i+j-1] %= 10;
}
}
if(ans.x[ans.len+1]) ans.len++;
a = ans;
return;
}
void print(const string &s,const long_long &a){
int k = s.length();
for(int i = 0;i < k;i++){
if(i + 3 <= k && s[i] == '%' && s[i+1] == 'l' && s[i+2] == '_' && s[i+3] == 'l'){
i = i+4;
for(int i = a.len;i >= 1;i--){
cout << a.x[i];
}
}else if(i+1 <= k && s[i] == '\\' && s[i+1] == 'n'){
i = i+2;
cout << endl;
}
}
}
void operator ++ (long_long &a){
a += _1;
}
long_long lpow(long_long x,int y){
if(y == 0) return _1;
long_long xx = x;
y--;
while(y--){
x = x*xx;
// out(x);
// cout << endl;
}
return x;
}
long_long lmin(const long_long &x,const long_long &y){
return (x < y ? x : y);
}
long_long lmax(const long_long &x,const long_long &y){
return (x > y ? x : y);
}
long_long to_ll(int x){
long_long res;
memset(res.x,0,sizeof(res.x));
res.len = 0;
while(x > 0){
// cout << endl << x << ' ' << res.len << ' ' << x%10 << endl;
res.x[++res.len] = x%10;
x /= 10;
}
// res.len--;
return res;
}
long_long in(){
string s;long_long res = _0;
cin >> s;
for(int i = 0;i < s.length();i++){
res = res*_10+to_ll(int(s[i]-'0'));
}
}
void lmemset(long_long a[],const long_long &sum,const int &len){
for(int i = 0;i <= len;i++) a[i] = sum;
}
}
using namespace ll;
int main(){
long_long rp = _0;
long_long inf = _0;
for(int i = 0;i <= 10000;i++){
inf += _100;
}
while(1){
rp += inf;
out(rp);
cout << endl;
inf += inf;
}
}