Sunday, September 6, 2015

462B - Appleman and Card Game (Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
#include<cstring>
using namespace std;
#define sc(n) scanf("%d", &n)
#define sf scanf
#define pf printf
#define MX 100005
typedef long long ll;
int f[MX];

int main()
{
    string s;
    int n, k;
    while(scanf("%d%d", &n, &k)==2)
    {
        cin >> s;

        memset(f, 0, sizeof(f));
        for(int i=0; i<n; i++)
            f[s[i]-'A']++;

        sort(f, f+26);
        reverse(f, f+26);
        ll sum =0;
        for(int i=0; i<26; i++)
        {
            if(f[i]==0)
                break;
            if(k==0)
                break;
            if(f[i]>=k)
            {
                ll tmp = k;
                sum+=(tmp*tmp);
                break;
            }
            else
            {
                ll tmp = f[i];
                sum+=(tmp*tmp);
                k-=f[i];
            }
        }
        cout << sum << endl;
    }
    return 0;
}


463B - Caisa and Pylons (Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
#define sc(n) scanf("%d", &n)
#define sf scanf
#define pf printf
#define MX 100005
typedef long long ll;
int a[MX];

int main()
{
    int  i, n;
    int paid, e;
    while(sc(n)==1)
    {
        e = 0;
        paid = 0;
        a[0] = 0;
        for(i=1; i<=n; i++)
            sc(a[i]);
        for(int i=0; i<n;i++)
        {
            e += (a[i] - a[i+1]);
            if(e<0)
                paid += -e , e = 0;
        }
        pf("%d\n", paid);
    }
    return 0;
}

465B - Inbox (100500) (Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
#define sc(n) scanf("%d", &n)
#define sf scanf
#define pf printf
#define MX 10005
typedef long long ll;
int a[MX];

int main()
{
    int i, n, cnt, Zcnt;
    while(sc(n)==1)
    {
        cnt = 0;
        Zcnt=0;
        for(i=0; i<n; i++)
        {
             sc(a[i]);
             if(a[i]==1)
                cnt++;
             else if(a[i]==0 && a[i-1]!=0)
                cnt++;
             else if(a[i]==0)
                Zcnt++;
        }
        if(a[n-1]==0 && Zcnt!=n)
            cnt--;
        pf("%d\n", cnt);
    }
    return 0;
}

Friday, June 5, 2015

236B - Easy Number Challenge (Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cmath>
#include<algorithm>
using namespace std;
#define pf printf
#define sf scanf
#define MAX 1000005
typedef long long ll;
int divi[MAX];

int divisor()
{
    int i, j;
    for(i=1; i<=MAX; i++)
    {
        for(j=i; j<=MAX; j+=i)
        {
            divi[j]++;
        }
    }
}
int main()
{
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    divisor();
    ll a, b, c, sum, d;
    int i, j, k;
    while(cin >> a >> b >> c)
    {
        sum = 0;
        for(i=1; i<=a; i++)
        {
            for(j=1; j<=b; j++)
            {
                for(k=1; k<=c; k++)
                {
                    d = i*j*k;
                    sum += divi[d];
                }
            }
        }
        cout << (sum%1073741824) << endl;
    }
    return 0;
}

Saturday, May 16, 2015

1136 - Division by 3 (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX  10005
typedef long long ll;

int main()
{
    ll a, b, res, ans, counter, cas = 0;
    int t_case;
    cin >> t_case;
    while(t_case--)
    {
        cin>> a>> b;
        counter = 0;
        if(((b - a) + 1) == 1)
        {
            res = a % 3;
            if(res == 0 || res == 2)
            counter = 1;
        }
        else if((a % 3 == 0 && b % 3 == 0) || (a % 3 == 2 && b % 3 == 2) || (a % 3 == 2 && b % 3 == 0))
        {
            res = b - a;
            ans = res / 3;
            counter = res - ans + 1;
        }
        else
        {
            res = b - a;
            ans = res / 3;
            counter = res - ans;
        }
        cout<< "Case "<< ++cas<< ": "<< counter << endl;
    }
    return 0;
}

1182 - Parity (Light OJ)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
#define pf printf
#define sf scanf
#define loop(i, n) for(i=0; i<(n); i++)
#define MAX  10005
typedef long long ll;

int main()
{
    ll num, rem, sum, test, i;
    cin >> test;
    for(i=1; i<=test ; i++)
    {
        cin>>num;
        sum=0;
        while(num>0)
        {
            rem = num%2;
            sum = sum + rem;
            num = num/2;
        }
        if(sum %2 == 0)
            cout << "Case " << i << ": even" << endl;
        else
            cout << "Case " << i << ": odd" << endl;
    }
    return 0;
}

1225 - Palindromic Numbers (II) (Light OJ)

  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int test, i, n, rem, temp;
  5.     scanf("%d", &test);
  6.  
  7.     for (i=1; i<=test; i++)
  8.     {
  9.         int reverse=0;
  10.         scanf("%d" , &n);
  11.         temp=n;
  12.  
  13.         while( temp!=0 )
  14.         {
  15.             rem=temp%10;
  16.             reverse=reverse*10+rem;
  17.             temp/=10;
  18.         }
  19.         if( reverse==)
  20.             printf ("Case %d: Yes\n", i);
  21.         else
  22.             printf ("Case %d: No\n", i);
  23.     }
  24.     return 0;
  25. }
  26.  

Compare equality of two string in C

#include <stdio.h> #include<string.h> int main() {     char* country = "Bangladesh";     char* country2;     ...