제목 설명
리 지앙 강이 N- 형 의 순서로 자신의 위치에 따라 여관, n 개의 가정 매우 독특한 여관 (1) 에 (1) N- 형 의 n 수입니다. 각 여관 (총 장식 톤의 특정 종류에 따라 수행되는 케이 케이 종류의 정수 0 0 ~ K-1 K - 1 나타냄), 각 여관은 커피 숍을 가지고, 각각 자신의 커피 숍이있다 최소 소비.
리장의 관광이 관광객과 함께 이동하려면, 그들은 같은 톤을 좋아하는 두 개의 서로 다른 여관을 시도하려는, 같은 투톤 여관에 살고 있었다 결정했다. 밤, 그들은 커피 숍 커피를 마시는를 선택하려는, 커피 숍을 초과하지 않는 두 개의 여관 모두 라이브, 커피 숍의 가장 낮은 소비 사이에 (그들이 살았던 여관 포함) 요구 사항에 위치하고 ρ-에게 ρ-합니다.
그들은 밤에 당신이 초과하지 않는 최소한의 소비를 찾을 수 있도록, 숙박 시설 프로그램의 전체 선택에 얼마나 많은 알고 싶은 페이지의 커피 숍 P 위안-함께합니다.
입력 형식
총 행 N + 1.
세 개의 정수의 첫 번째 행 N-, K, P의 N- , K , 각각의 공간, 높은 수 및 허용 가능한 최저의 인 톤들의 수에 의해 분리 된 각각의 두 정수 사이의 P;
다음의 N- 형 제 n, I (1) + I + 1 개 라인 각각 사이의 공간에 의해 분리 된 두개의 정수 I I 번호 인 파스텔 색상 장식 I 커피 숍 번호 I 인 최소 소비.
출력 형식
정수, 대체 숙박 플랜 표현의 총 수.
샘플 입출력
5 (2) (3) 0~5 1~3 0~2 1~4 1~5
삼
설명 / 팁
예 설명 [O]
2 명 여관 같은 톤으로 살고 싶은 모든 대체 숙박 시설의 프로그램은 다음과 같습니다 : 라이브 인 ①③, ②④, ②⑤, ④⑤,하지만 당신은 사는 것을 선택하는 경우 4 4, 5 , 다음 5 인 4 4, 5 인 5 ~ 커피 숍의 최소 소비는 4 4 가장 낮은 소비자는이 견딜 수 3 $ 3, 그것은 요구 사항을 충족하지 않습니다. 따라서, 첫 번째 3 개 세 계획 선택.
[데이터 범위]
들면 30 % \ . 3 0 데이터 %, 거기에 N- ≦ 100 N- ≤ 1. 0 0;
들면 50 % \ . 5 0 데이터 % 존재 N-1 000 N- ≤ 1. , 0 0 0;
들면 100 % \ . 1 0 0 데이터 %, 거기에 2 ≤200,000,0 ≤n <K ≤50,0≤p ≦ 100, 0 ≤ 2 ≤ N- ≤ 2 0 0 , 0 0 0 , 0 < K ≤ . 5 0 , 0 ≤ ρ- ≤ 1 0 0 , 0 ≤ 최소 소비 ≤100 ≤ 1 0 0.
아이디어 :
현재 가격과 라인에있는 경우 선형, 특정 스타일의 마지막 발생의 위치를, 각 색상의 수에 대한 기록이 발생하는 탄소 나노 튜브, 마지막으로 모든 레코드의 유지 보수를 추구
그리고 때마다 값이 스타일의 색상으로, 이전의 누적 대답을 업데이트의 수를 나타 났었
코드 :
#INCLUDE <cstdio> #INCLUDE <iostream> 네임 스페이스를 사용하여 표준; CONST의 INT의 N = 100000; 마지막 INT [N], 합계 [N], CNT [N], ANS, 지금; N, K, P 값 int; INT 주 () { INT 색상, 가격; scanf와 ( "% D % D % D", 및 N, K, P); 대해 INT (I = 1; i가 <= N; 내가 ++) { 는 scanf ( "%의 D % d에", 컬러, 가격); (가격 <= P) 지금의 경우 = 1; 경우 (최종 [색] <= 현재) 합 [컬러 = CNT [컬러]; 마지막으로 [색상] = 1; ANS + = 합 [컬러]; CNT [색상] ++; } 의 printf ( "% D \ 없음", ANS); 0을 반환; }