UAV THÔNG MINH

(uav.*)

Một cuộc đua dành cho máy bay không người lái thông minh (UAV cỡ nhỏ) được tổ chức trên một đường băng dài gồm N vạch cách đều nhau, vách cách vạch 10 mét. Các vạch được đánh số từ 1 đến N. Trên mỗi vạch đều có đặt một bộ cảm biến có nhiệm vụ gửi về trung tâm điều khiển (TTDK) của Ban tổ chức (BTC) cuộc thi số hiệu của vạch khi UAV đứng hay hạ cánh tại vạch này. Cuộc đua cho mỗi UAV được tiến hành như sau: UAV vào đứng tại vạch 1, có thời gian 1 giây để nạp dữ liệu mà BTC cung cấp, dữ liệu gồm một số nguyên dương LN số nguyên Xi (i=1..n) với ý nghĩa Xi là giá trị của vạch i. Ngay sau đó, UAV phải được thực hiện hành trình bằng cách di chuyển liên tục như sau:

+ Trong hành trình lượt đi, UAV (đứng tại vạch 1) cần bay đến vạch N theo quy tắc: Nếu đang đứng ở vạch i (1≤i<N) thì nó sẽ chỉ được phép hạ cánh tại vạch j (j>i) mà Xj lẻ (ấn định rằng XN=1001) đồng thời vạch j cách vạch i không quá L vạch (tức là 1≤j-iL). Tổng số lần UAV đứng hay hạ cánh trong hành trình lượt đi, bao gồm tại cả vạch 1 và vạch N, được ký hiệu bởi U.

+ Trong hành trình lượt về, bắt đầu với số điểm được BTC cung cấp bằng Xn=1001, UAV từ vạch N bay tiếp về vạch 1 theo quy tắc: Nếu đang đứng ở vạch i (1<in) thì nó sẽ chỉ được phép hạ cánh tại vạch k (k<i) mà XK chẵn (ấn định rằng X1=1000). UAV sẽ nhận được thêm Xk điểm nếu vạch k cách vạch i đúng L vạch (tức i-k=L) và bị trừ Xk điểm trong trường hợp trái lại. Tổng số điểm mà UAV thu được trong hành trình lượt về, được ký hiệu là V.

Lưu ý:

+ Các UAV được lập trình sẵn để tiếp nhận và xử lý dữ liệu của BTC rồi tự động thực hiện toàn bộ hành trình (lượt đi và về).

+ Dữ liệu mà BTC đưa ra luôn đảm bảo để các UAV có thể thực hiện được cuộc đua.

Yêu cầu: Hãy lập trình cho UAV để nó đạt được giá trị nhỏ nhất của U và lớn nhất của V.

Dữ liệu vào:

+ Dòng đầu ghi số nguyên L (10≤L≤100).

+ Dòng thứ 2 ghi số nguyên N (L<N≤500000).

+ Dòng thứ 3 ghi lần lượt các số nguyên X2, X3,…,Xn-1 (0≤Xi≤106, i=2,…,N-1)

Các số trên một dòng cách nhau bởi ít nhất một dấu cách.

Kết quả: Ghi 2 số nguyên trên 2 dòng: Dòng đầu là U và dòng sau là V.

Ví dụ:

Input Output
10
19
6 3 15 2 30 7 8 6 10 2 4 9 9 15 0 18 10
4
1999

Ràng buộc: 50% số test ứng với 50% số điểm của bài có N≤1000

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. ducdung192 (6/9)
  2. nguyenanhlong (4/8)
  3. duyminh123 (3/6)
Trong 7 ngày
  1. kiennhientv (45/97)
  2. nguyenanhvu (44/91)
  3. vu123567 (39/69)
Trong 30 ngày
  1. quechi (81/99)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38877

Lưu Hải Phong - 2020
[email protected]