Sunday 26 February 2012

Codeforces Round #109 (Div. 2)

                                                    A. I_love_%username%
Vasya adores sport programming. He can't write programs but he loves to watch the contests' progress. Vasya even has a favorite coder and Vasya pays special attention to him.

One day Vasya decided to collect the results of all contests where his favorite coder participated and track the progress of his coolness. For each contest where this coder participated, he wrote out a single non-negative number — the number of points his favorite coder earned in the contest. Vasya wrote out the points for the contest in the order, in which the contests run (naturally, no two contests ran simultaneously).

Vasya considers a coder's performance in a contest amazing in two situations: he can break either his best or his worst performance record. First, it is amazing if during the contest the coder earns strictly more points that he earned on each past contest. Second, it is amazing if during the contest the coder earns strictly less points that he earned on each past contest. A coder's first contest isn't considered amazing. Now he wants to count the number of amazing performances the coder had throughout his whole history of participating in contests. But the list of earned points turned out long and Vasya can't code... That's why he asks you to help him.

Input
The first line contains the single integer n (1 ≤ n ≤ 1000) — the number of contests where the coder participated.

The next line contains n space-separated non-negative integer numbers — they are the points which the coder has earned. The points are given in the chronological order. All points do not exceed 10000.

Output
Print the single number — the number of amazing performances the coder has had during his whole history of participating in the contests.



#include<iostream>
#include<vector>
using namespace std;
int main()
{
   
    int n  = 0;
    int a = 0;
    int count = 0;
    int small = 0;
    int large = 0;
    int i = 0;
    cin>>n;
    vector<int>code(n,0);
    for(i = 0 ; i < n ; i++)
    {
            cin>>a;
            code[i] = a;
    }
    for(i = 1 ; i < n ; i ++)
    {
          large = 0;
          small = 0;
          for(int j = 0 ; j < i ; j++)
          {
                  if(code[i] > code[j])
                  {
                             large++;
                  }
                  else if(code[i] < code[j])
                  {
                       small++;
                  }
          }
          if(small == i || large == i)
          {
                   count++;
          }
    }
    cout<<count<<endl;
return 0;
}

BY : SAURABH BHATIA (GNDU , RC , JAL)

No comments:

Post a Comment