Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- string h;
- ll num,dis;
- ll vv[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
- ll f(string & q)
- {
- ll ret=0;
- string c;
- for(int i=0;i<q.size();i++)
- {
- if(q[i]=='.')
- {
- if((int)q.size()-i-1==2)break;
- }
- else c+=q[i];
- }
- int j=0;
- while(!c.empty())
- {
- // cout<<c.back()<<' ';
- int w=c.back()-'0';
- ret+=((ll)w)*vv[j];
- c.pop_back();
- j++;
- }
- return ret;
- }
- ll g( string & q )
- {
- ll ret=0;
- if(q.size()<3)return 0;
- if(q[(int)q.size()-3]=='.')
- {
- int j=0;
- while(!q.empty())
- {if(q.back()=='.')break;
- ret+=(ll)(q.back()-'0')*vv[j];
- q.pop_back();
- j++;
- }
- }
- return ret;
- }
- int main(){
- cin>>h;
- int lc =0;
- for(int i=0;i<h.size();i++)
- {string q;
- if(!isalpha(h[i]))
- {
- for(;i<h.size();i++)
- {
- if(!isalpha(h[i]))
- {
- q+=h[i];
- }else break;
- }
- ll aa=f(q);
- ll bb=g(q);
- num+=aa;
- dis+=bb;
- num+=dis/100;
- dis%=100;
- }
- }
- string ans;
- if(num==0)ans.push_back('0');
- while(num)
- {
- ll f=num%10;
- ans.push_back(f+'0');
- num/=10;
- }
- reverse(ans.begin(),ans.end());
- for(int i=0;i<ans.size();i++)
- {
- if(((int)ans.size()-i)%3==0&&i)cout<<'.';
- cout<<ans[i];
- }
- if(dis/10)
- cout<<'.'<<dis;
- if(dis!=0&&dis/10==0)cout<<".0"<<dis%10;;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement