Thursday, 3 October 2013

Candies Solution Hackerrank

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    
  int N;
  cin>>N;
  int *ar =  new int[N];
  int *ar1 = new int[N];
  for (int i=0; i<N; i++)
        cin>>ar[i];
  for (int i=0;i<N;i++)
  {
      ar1[i]=1;      
      if(i-1>=0)
      {
          if(ar[i-1]<ar[i])
            ar1[i] = ar1[i-1]+1;
          else 
          {
               int j = i;
               while(j>0 && ar[j-1] > ar[j])
               {
                ar1[j-1] = max(ar1[j-1],ar1[j] + 1);
                j= j-1;
               }          
          }
      }
  }
    int total = 0;
    for ( int i = 0; i<N ; i++){
        total += ar1[i];
    }
   cout<<total;
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    return 0;
}

String Similarity Solution Hackerrank

#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
int Match(const string &,const string &);
int main()
{
    int test;
    cin>>test;
    string s,s1;
    int len;
    while(test--)
    {
        int sum=0,c=0;
        cin>>s;
        len=s.length();
        int index[len];
        int i=0;
        while(s[i]!='\0')
        {
            if(s[i]==s[0])
            {
                index[c]=i;
                c++;
            }
            i++;
        }
        for(i=0;i<c;++i)
        {
            s1=s.substr(index[i],len);
            sum+=Match(s,s1);
        }
        cout<<sum<<endl;
    }
    return 0;
}


int Match(const string & str1,const string & str2)
{
     if(str1.empty() || str2.empty())
     {
          return 0;
     }
     int maxSubstr=0;
     int len=str2.size();
     for(int i=0;i<len;++i)
     {
        if(str2[i]==str1[i])
            ++maxSubstr;
        else
            return maxSubstr;

     }
     return maxSubstr;
}

Mark And Toys Solution Hackerrank

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int n,k;
    cin>>n>>k;
    int a[n];
    for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    int s=0,i=0;
    while(s<=k)
    {
        s+=a[i];
        i++;
    }
    cout<<i-1<<endl;
    return 0;
}

Ice Cream Parlor Solution Hackerrank

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int t,c,l;
    cin>>t;
    while(t--)
    {
        cin>>c>>l;
    int a[l];
    for(int i=0;i<l;i++)
        cin>>a[i];
    for(int j=0;j<l-1;j++)
    {
        int k=c-a[j];
        for(int i=j+1;i<l;i++)
        {
            if(a[i]==k)
            {
                cout<<j+1<<" "<<i+1<<endl;
            }
        }
    }
    }
    return 0;
}

Two Array Solution Hackerrank

#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
int main() {

    int t,n,k,p=0;
    cin>>t;
    while(t--)
    {
        cin>>n>>k;
        int a[n];
        int b[n];
        for(int i=0;i<n;i++)
            cin>>a[i];
        for(int i=0;i<n;i++)
            cin>>b[i];
        sort(a,a+n,greater<int>());
        sort(b,b+n);
        p=0;
        for(int i=0;i<n;i++)
        {
            if((a[i]+b[i])>=k)
                p++;
        }
        if(p==n)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
    return 0;
}

Monday, 16 September 2013

Flowers Hackerrank Solution

#include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k;
    int ar[n];
    for(int i=0;i<n;i++)
        cin>>ar[i];
   sort(ar, ar+n,greater<int>());
   int q,money=0;
   for(int it=0;it<n;++it)
    {
        q=(it)/k;
        money+=(q+1)*ar[it];
    }
    cout<<money<<endl;
   return 0;
}

Lonely Integers Hackerrank Solution



#include <iostream>
#include<array>
#include <algorithm>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++)
        cin>>a[i];
    sort(a,a+n);
    for(int i=0;i<n;i+=2)
    {
        if(a[i]==a[i+1])
            continue;
        else
        {
            cout<<a[i];
            break;
        }
    }
    return 0;
}

Chocolate Feast Solution Hackerrank

#include<iostream> using namespace std; int main() {     int t;     cin>>t;     while(t--)     {         int n,c,m,w,tot...