Advertisement
at3107

Untitled

Aug 16th, 2020
792
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int n;
  6.     cin>>n;
  7.     int a[n];
  8.     for(int i=0;i<n;i++) cin>>a[i];
  9.     vector<int> v={2,2,1,2,2,2,1,2,2,2,1,3,3,3,4,3};//upto 15
  10.     vector<int> tens={2,1,1,1,2,1,1,2,2,2,2,2};
  11.     int dig=0;
  12.     for(int i=0;i<n;i++)
  13.     {
  14.         if(a[i]<=15) dig+=v[a[i]];
  15.         else if(a[i]%10==0) dig+=tens[(a[i]/10)];
  16.         else
  17.         {
  18.             if(a[i]<20) dig+=v[a[i]-10];
  19.             else dig+=v[a[i]%10]+tens[a[i]/10];
  20.         }
  21.     }
  22.     int ans=0;
  23.     for(int i=0;i<n;i++)
  24.     {
  25.         for(int j=i+1;j<n;j++) if(a[i]+a[j]==dig) ans++;
  26.     }
  27.     vector<string> s={"zero","one","two","three","four","five","six","seven","eight","nine","ten", "eleven", "twelve",  
  28.                                "thirteen", "fourteen",
  29.                                "fifteen", "sixteen",  
  30.                                "seventeen", "eighteen", "nineteen"};
  31.     vector<string> ten={"zero","ten","twenty", "thirty", "forty", "fifty",
  32.                             "sixty", "seventy", "eighty", "ninety","hundred"};
  33.     if(ans<=19) cout<<s[ans];
  34.     else if(ans%10==0) cout<<ten[ans/10];
  35.     else cout<<ten[ans/10]<<s[ans%10];
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement