Jumat, 15 November 2013

TURNAMEN PANCO (BNPCHS 2010 Final Round - Problem A)

Problem Code : HS10A
Time Limit : 1 seconds
Memory Limit : 32 megabytes
Pak Kumis menyelenggarakan sebuah turnamen panco dengan jumlah peserta 2N. Peserta pertama (P1) akan bertanding dengan peserta kedua (P2). P3 akan bertanding dengan P4, P5 akan bertanding dengan P6, dst. Pemenang dari P1 dan P2 akan bertanding dengan pemenang dari P3 dan P4, pemenang dari P5 dan P6 akan bertanding dengan pemenang dari P7 dan P8, dst (lihat bagan di bawah).
      Pak Kumis sudah mengetahui kekuatan setiap peserta yang mengikuti turnamen ini dan ia yakin tidak ada dua peserta yang memiliki kekuatan yang sama. Jika ada dua orang peserta yang bertanding, maka yang kuat lah yang menang. Bantu pak Kumis untuk memprediksi siapa yang akan memenangkan turnamen ini. Pada contoh di atas, turnamen ini dimenangkan oleh peserta ke 4 (P4) yang memiliki kekuatan 9 (Ia mengalahkan P3 yang mempunyai kekuatan 7 pada babak pertama, mengalahkan P1 yang memiliki kekuatan 5 pada babak kedua, dan mengalahkan P7 yang memiliki kekuatan 6 pada babak final).

Input

       Input dimulai dengan sebuah bilangan bulat T (T ≤ 100) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi sebuah bilangan bulat N (1 ≤ N ≤ 10). Baris berikutnya berisi 2N bilangan bulat Pi (1 ≤ Pi ≤ 5.000) yang merepresentasikan kekuatan dari peserta ke 1 hingga peserta ke 2N secara berurutan. Tidak ada dua peserta yang memiliki kekuatan yang sama.

Output

        Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan nomor peserta yang diprediksi akan memenangkan turnamen ini.

Sample InputOutput for Sample Input
1
3
5 2 7 9 1 3 6 4
4

With c++

#include <iostream>
#include <math.h>
using namespace std;

main () {
    int k, t,a,p,b, Max, jur;
    int me[100];
    cin>>k;
        for(b=0;b<k;b++){
            cin>>t;
            t=pow(2,t);
            Max=0;
            jur=0;
          
                for(a=0;a<t;a++){
                    cin>>p;
                    if(p>Max){
                        Max=p;
                        jur=a+1;
                    };
                }
            me[b]=jur;
        }
    for(a=0;a<k;a++){
        cout<<me[a]<<endl;  
    }
  
}

Tidak ada komentar:

Posting Komentar