Giúp làm bài tập Pascal 11

Ai giúp em bài này đi ạ...... em cảm ơn nhiều nhiều ạ...
Một dãy con gồm các phần tử liên tiếp nhau trong một dãy cho trước được gọi
là đoạn. Cho dãy gồm N số tự nhiên, viết chương trình tìm đoạn ngắnnhất có tổng các
phần tử bằng giá trị K cho trước.
Input:Tập tin văn bản DOAN.INP
+ Dòng 1: chứa hai số tự nhiênN, K (1 <=N <=2000);
+ Các dòng tiếp theo: các phần tử của dãy, mỗi phần tử cách nhau một khoảng trắng.
Output:Tập tin văn bản DOAN.OUT, chứa một dòng duy nhất gồm hai số tự
nhiên x và b. Trong đó x: là chỉ số đầu đoạn; b: là số phần tử trong đoạn (chiều dài
đoạn). Nếu tìm không có (vô nghiệm) ghi 0 0.
Ví dụ:

DOAN.INP
16 11
4 5 7 6 10
3 6 2 8 12
4 0 0 7 1
1
DOAN.OUT
6 3
DOAN.INP
7 13
4 2
1
5 0
9 3
DOAN.OUT
0 0
 
Reply: Giú làm bài tập Pascal 11

Bạn dùng 2 vòng lặp lồng nhau để đánh dấu 2 đầu của đoạn cần xét. Xét tất cả các đoạn, đoạn nào có tổng =k và ngắn nhất thì là kết quả. Nếu giới hạn lớn hơn thì có thể dùng phương pháp quy hoạch động. Bạn có thể vào đây tham khảo thêm bài tập pascal: baitap.edu.vn/danh-sach-bai-tap-tin-hoc-lop-11-5-6.htm
 

Bài viết đang hot

Thống kê

Chủ đề
102,777
Bài viết
470,596
Thành viên
340,591
Thành viên mới nhất
Quang Nguyễn NĐ
Top