Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- string stringdiv(string s,int c)
- {
- string ans;
- int id=0;
- int num=s[id]-'0';
- while(num<c)
- num=(num*10)+(s[++id]-'0');
- while(s.size()>id)
- {
- ans+=((num/c)+'0');
- num=(num%c)*10 + (s[++id]-'0');
- }
- if(ans.length()==0)
- return "0";
- else
- return ans;
- }
- string stringadd(string a,string b)
- {
- if(a.length()>b.length())
- swap(a,b);
- string ans="";
- int len1=a.length();
- int len2=b.length();
- reverse(a.begin(),a.end());
- reverse(b.begin(),b.end());
- int i,j,k,sum=0,carry=0;
- for(i=0;i<len1;i++)
- {
- sum=((a[i]-'0')+(b[i]-'0'))+carry;
- ans.push_back((sum%10)+'0');
- carry=sum/10;
- }
- for(i=len1;i<len2;i++)
- {
- sum=((b[i]-'0'))+carry;
- ans.push_back((sum%10)+'0');
- carry=sum/10;
- }
- if(carry)
- ans.push_back(carry+'0');
- reverse(ans.begin(),ans.end());
- return ans;
- }
- int main()
- {
- string s,div,add;
- long long int n,f,i,j,k=0;
- while(scanf("%lld %lld",&n,&f)==2)
- {
- if(n==0||f==0)
- break;
- if(k>0)
- cout<<endl;
- k++;
- add="",div="";
- for(i=1;i<=n;i++)
- {
- cin>>s;
- add=stringadd(add,s);
- }
- div=stringdiv(add,f);
- cout<<"Bill #"<<k<<" costs "<<add<<": "<<"each friend should pay "<<div<<endl;
- }
- cout<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement