HDU : Baskets of Gold Coins


// @BEGIN_OF_SOURCE_CODE

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <sstream>
#include <set>
#include <math.h>
#define pi acos(-1.0)
#define N 1000000
using namespace std;


int main ()
{
    int n;
    int w;
    int d;
    int totalWeigh;

    while ( scanf ("%d %d %d %d", &n, &w, &d, &totalWeigh) != EOF ) {
        int lessWeigh = w - d;
        int output = -1;
        int assumedSum = 0;
        for ( int i = 1; i < n; i++ )
            assumedSum += (i * w);
        int sum = 0;

        for ( int i = 1; i <= n; i++ ) {
            sum = assumedSum - (i * w) + (lessWeigh * i);
            if ( sum == totalWeigh ) {
                output = i;
                break;
            }
        }

        if ( output == -1 )
            printf ("%d\n", n);
        else
            printf ("%d\n", output);
    }

    return 0;
}

// @END_OF_SOURCE_CODE

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s