답안 #902582

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
902582 2024-01-10T18:28:28 Z qin Crossing (JOI21_crossing) C++17
0 / 100
0 ms 348 KB
#include <bits/stdc++.h>
#define fi first
#define se second
#define ssize(x) int(x.size())
#define pn printf("\n")
#define all(x) x.begin(),x.end()
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
int inf = 2e09; ll infll = 2e18;
int base = 1;
struct seg{
		vector<int> t;
		void init(int n){
				while(base < n) base <<= 1;
				t.resize(base<<1);
		}
		void update(int i, int val){
				for(i += base-1, t[i] = val, i >>= 1; i; i >>= 1) t[i] = max(t[i<<1], t[i<<1|1]);
		}
		int query(int i, int s, int e, int x, int y){
				if(x <= s && e <= y) return t[i];
				int mid = (s+e)>>1, ret = 0;
				if(x <= mid) ret = max(ret, query(i<<1, s, mid, x, y));
				if(mid < y) ret = max(ret, query(i<<1|1, mid+1, e, x, y));
				return ret;
		}
		int qr(int x, int y){
				if(x <= y) return query(1, 1, base, max(1, x), min(base, y));
				return 0;
		}
};
void answer(){
		int n, d; scanf("%d%d", &n, &d);
		set<int> sc;
		vector<int> t(n+1);
		for(int i = 1; i <= n; ++i) scanf("%d", &t[i]), sc.emplace(t[i]);
		unordered_map<int, int> mp; int it = 0;
		for(int u : sc) mp[u] = ++it;
		for(int i = 1; i <= n; ++i) t[i] = mp[t[i]];
		int mx = 0, result = 0;
		vector<int> st;
		for(int i = n; i; --i){
				while(!st.empty() && t[st.back()] <= t[i]) st.pop_back();
				st.emplace_back(i);
				result = max(result, ssize(st));
		}
		printf("%d\n", result);
}
int main(){
		int T = 1;
		for(++T; --T; ) answer();
		return 0;
}

Compilation message

Main.cpp: In function 'void answer()':
Main.cpp:41:7: warning: unused variable 'mx' [-Wunused-variable]
   41 |   int mx = 0, result = 0;
      |       ^~
Main.cpp:34:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |   int n, d; scanf("%d%d", &n, &d);
      |             ~~~~~^~~~~~~~~~~~~~~~
Main.cpp:37:36: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   37 |   for(int i = 1; i <= n; ++i) scanf("%d", &t[i]), sc.emplace(t[i]);
      |                               ~~~~~^~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -