UVA Problem 11727 – Cost Cutting Solution

UVA Problem 11727 – Cost Cutting Solution:

Solving Technique:

Very easy problem. We are given 3 numbers in each test case. Among those three numbers we need to print the median value.

Two codes given below one solved with simple if else branching, another one is solved using STL sort algorithm. Can be solved also using stl nth_element  but it is too much for this problem. Use of nth_element shown in UVA Problem 10041 Vito’s Family.

Important:  Be sure to add or print a new line after each output unless otherwise specified. The outputs should match exactly because sometimes even a space character causes the answer to be marked as wrong answer. Please compile with c++ compiler as some of my codes are written in c and some in c++.

Input:

```3
1000 2000 3000
3000 2500 1500
1500 1200 1800```

Output:

```Case 1: 2000
Case 2: 2500
Case 3: 1500```

Code C:

```/**
* @author  Quickgrid ( Asif Ahmed )
* Problem: UVA 11727 - Cost Cutting
*/

#include<stdio.h>

int main(){
static unsigned i, n, a, b, c;
scanf("%u", &n);

for(i = 1; i <= n; ++i){
scanf("%u%u%u",&a,&b,&c);

if(a > b && a > c)
printf("Case %u: %u\n", i, b > c ? b : c);
else if(b > c)
printf("Case %u: %u\n", i, c > a ? c : a);
else
printf("Case %u: %u\n", i, a > b ? a : b);
}
return 0;
}
```

Code STL Sort:

```/**
* @author  Quickgrid ( Asif Ahmed )
* Problem: UVA 11727 - Cost Cutting
*/

#include<cstdio>
#include<algorithm>

static unsigned a[4];

int main(){
static unsigned i, j, n;
scanf("%u", &n);

for(i = 1; i <= n; ++i){
for(j = 0; j < 3; ++j)
scanf("%u", &a[j]);

std::sort(a, a + 3);
printf("Case %u: %u\n", i, a[1]);
}

return 0;
}
```