Submission #1164396


Source Code Expand

#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#include <utility>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <random>
#include <deque>

#define INF_LL 1e18
#define INF 1e9

#define REP(i, n) for(int i = 0;i < (n);i++)
#define FOR(i, a, b) for(int i = (a);i < (b);i++)
#define all(x) x.begin(),x.end()

using namespace std;

using ll = long long;
using PII = pair<int, int>;
using PLL = pair<ll, ll>;

const ll MOD = 1e9+7;

int dx[9] = {-1, 1, 0, 0, -1, -1, 1, 1, 0};
int dy[9] = {0, 0, -1, 1, -1, 1, -1, 1, 0};

template<typename T>
void chmax(T &a, T &b){
	a = max(a, b);
}

template<typename T>
void chmin(T &a, T &b){
	a = min(a, b);
}

class Union_find{
private:
	vector<int> par;
	vector<int> rank;
	int n;

public:
	Union_find(int a){
		n = a;
		for(int i = 0;i < n;i++){
			par.push_back(i);
			rank.push_back(0);
		}
	}

	int find(int x){
		if(par[x] == x){
			return x;
		}else{
			return par[x] = find(par[x]);
		}
	}

	void unite(int x, int y){
		x = find(x);
		y = find(y);
		if(x == y) return;

		if(rank[x] < rank[y]){
			par[x] = y;
		}else{
			par[y] = x;
			if(rank[x] == rank[y]) rank[x]++;
		}
	}

	bool same(int x, int y){
		return find(x) == find(y);
	}
};

class RMQ{
	int n;
	vector<int> dat;
public:
	RMQ(int n_){
		n = 1;
		while(n < n_) n *= 2;
		REP(i, n*2-1){
			dat.push_back(INF);
		}
	}

	void update(int x, int i){
		i += n-1;
		dat[i] = x;
		while(i > 0){
			i = (i-1)/2;
			dat[i] = min(dat[i*2+1], dat[i*2+2]);
		}
	}

	int query(int a, int b, int l, int r, int x){
		if(a <= l && r <= b) return dat[x];
		if(r <= a || b <= l) return INF;

		int res = INF;
		res = min(query(a, b, l, (l+r)/2, x*2+1), query(a, b, (l+r)/2, r, x*2+2));
		return res;
	}
	int query(int a, int b){
		return query(a, b, 0, n, 0);
	}
};

const ll mod = 1e9+7;

int main(void){
	int N, K;
	int A[314514];
	cin >> N >> K;
	REP(i, N){
		cin >> A[i];
	}
	int p = 1;
	ll res = 0;
	FOR(i, 1, N){
		if(A[i] > A[i-1]){
			p++;
		}else{
			if(p >= K)
				res += p-K+1;
			p = 1;
		}
	}
	if(p >= K)
		res += p-K+1;
	cout << res << endl;
}

Submission Info

Submission Time
Task A - 素数、コンテスト、素数
User maze1230
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2338 Byte
Status RE
Exec Time 112 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
WA × 18
RE × 11
Set Name Test Cases
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt
Case Name Status Exec Time Memory
00_sample_01.txt WA 1 ms 256 KB
00_sample_02.txt WA 1 ms 256 KB
00_sample_03.txt RE 112 ms 256 KB
00_sample_04.txt RE 109 ms 256 KB
01_test_01.txt WA 1 ms 256 KB
01_test_02.txt WA 1 ms 256 KB
01_test_03.txt RE 111 ms 256 KB
01_test_04.txt RE 108 ms 256 KB
01_test_05.txt WA 1 ms 256 KB
01_test_06.txt WA 1 ms 256 KB
01_test_07.txt WA 1 ms 256 KB
01_test_08.txt WA 1 ms 256 KB
01_test_09.txt WA 1 ms 256 KB
01_test_10.txt RE 108 ms 256 KB
01_test_11.txt WA 1 ms 256 KB
01_test_12.txt WA 3 ms 256 KB
01_test_13.txt WA 1 ms 256 KB
01_test_14.txt RE 108 ms 256 KB
01_test_15.txt RE 104 ms 256 KB
01_test_16.txt WA 1 ms 256 KB
01_test_17.txt WA 3 ms 256 KB
01_test_18.txt RE 107 ms 256 KB
01_test_19.txt RE 108 ms 256 KB
01_test_20.txt RE 108 ms 256 KB
01_test_21.txt WA 1 ms 256 KB
01_test_22.txt WA 3 ms 256 KB
01_test_23.txt WA 1 ms 256 KB
01_test_24.txt RE 107 ms 256 KB
01_test_25.txt WA 2 ms 256 KB