Submission #258604


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <set>
#include <sstream>
#include <numeric>
#include <bitset>
#include <complex>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <cctype>
#include <cassert>
using namespace std;

typedef long long ll;
static const double EPS = 1e-8;
static const double PI = 4.0 * atan(1.0);
bool ISINT(double x){return fabs(x-(int)round(x))<EPS;}
bool ISEQ(double x,double y){return fabs(x-y)<EPS;}
string itos(ll x){stringstream ss;ss<<x;return ss.str();}
#define foreach(itr,c) for(__typeof(c.begin()) itr=c.begin();itr!=c.end();itr++)

typedef pair<int,int> P;

int n;
int t[100002];
P p[100002];

int l[100002], r[100002];
int ans[100002];

int main(void){
  while(cin >> n){
    for(int i = 0; i < n; i++){
      cin >> t[i];
      p[i] = P(t[i], i);

      l[i] = i - 1;
      r[i] = i + 1;
    }

    memset(ans, -1, sizeof(ans));

    sort(p, p + n);

    for(int i = 0; i < n; i++){
      int pos = p[i].second;
      if(ans[pos] != -1) continue;

      int j;
      int lside;
      int pre;

      for(j = pos; 0 <= j; ){
        if(t[j] > p[i].first){
          break;
        }
        pre = j;
        j = l[j];
      }

      lside = j;

      for(j = pre; j < n; ){
        if(t[j] > p[i].first){
          break;
        }
        j = r[j];
      }

      int ansTmp = j - lside - 2;

      for(j = pre; j < n; ){
        if(t[j] > p[i].first){
          break;
        }
        ans[j] = ansTmp;
        j = r[j];
      }

      int lpos = lside;
      int rpos = j;

      if(0 <= lpos) r[lpos] = rpos;
      if(rpos < n)  l[rpos] = lpos;
    }

    for(int i = 0; i < n; i++){
      cout << ans[i] << endl;
    }
  }
}

Submission Info

Submission Time
Task D - 登山家
User Respect2D
Language C++ (G++ 4.6.4)
Score 100
Code Size 1948 Byte
Status AC
Exec Time 314 ms
Memory 3116 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 3
AC × 22
AC × 42
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt
Case Name Status Exec Time Memory
sample_01.txt AC 26 ms 1960 KB
sample_02.txt AC 25 ms 1884 KB
sample_03.txt AC 25 ms 1984 KB
subtask1_01.txt AC 26 ms 1960 KB
subtask1_02.txt AC 25 ms 2076 KB
subtask1_03.txt AC 26 ms 2076 KB
subtask1_04.txt AC 29 ms 2008 KB
subtask1_05.txt AC 28 ms 1904 KB
subtask1_06.txt AC 27 ms 2076 KB
subtask1_07.txt AC 28 ms 1960 KB
subtask1_08.txt AC 33 ms 1904 KB
subtask1_09.txt AC 30 ms 2072 KB
subtask1_10.txt AC 25 ms 2072 KB
subtask1_11.txt AC 29 ms 1956 KB
subtask1_12.txt AC 32 ms 2076 KB
subtask1_13.txt AC 28 ms 1952 KB
subtask1_14.txt AC 27 ms 2076 KB
subtask1_15.txt AC 29 ms 1956 KB
subtask1_16.txt AC 31 ms 1956 KB
subtask1_17.txt AC 32 ms 1956 KB
subtask1_18.txt AC 32 ms 1956 KB
subtask1_19.txt AC 32 ms 1956 KB
subtask2_01.txt AC 159 ms 2596 KB
subtask2_02.txt AC 92 ms 2212 KB
subtask2_03.txt AC 183 ms 2592 KB
subtask2_04.txt AC 188 ms 2588 KB
subtask2_05.txt AC 293 ms 3112 KB
subtask2_06.txt AC 274 ms 3048 KB
subtask2_07.txt AC 279 ms 3116 KB
subtask2_08.txt AC 314 ms 3112 KB
subtask2_09.txt AC 301 ms 3108 KB
subtask2_10.txt AC 279 ms 3096 KB
subtask2_11.txt AC 289 ms 3104 KB
subtask2_12.txt AC 259 ms 3036 KB
subtask2_13.txt AC 282 ms 3112 KB
subtask2_14.txt AC 281 ms 3052 KB
subtask2_15.txt AC 270 ms 3104 KB
subtask2_16.txt AC 275 ms 3060 KB
subtask2_17.txt AC 297 ms 3044 KB
subtask2_18.txt AC 290 ms 3096 KB
subtask2_19.txt AC 282 ms 3108 KB
subtask2_20.txt AC 279 ms 3112 KB