TS10 Vũng Tàu 2024 - Tổng dãy số liên tiếp
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho dãy ~A~ gồm ~N~ số nguyên dương. Bằng cách ghi dãy ~A~ lặp lại vô hạn lần ta thu được dãy ~B~.
Ví dụ: với dãy ~A=\{1,2,3,4,5\}~ khi đó ta thu được dãy ~B~ như sau: ~B=\{1,2,3,4,5,1,2,3,4,5,1,2,...\}~. Các phần tử trong dãy ~B~ được đánh chỉ số tăng dần bắt đầu từ ~1~.
Yêu cầu: Cho trước dãy ~A~ có ~N~ phần tử số nguyên dương và ~2~ số nguyên dương ~K, P~. Tính tổng ~K~ phần tử liên tiếp trong dãy ~B~ bắt đầu từ phần tử có chỉ số là ~P~.
Input
Dòng đầu tiên chứa ba số nguyên dương ~N, K~ và ~P~ với ~(1 \le N \le 10^{5}, 1 \le K \le 10^{4}, 1 \le P \le 10^{5})~.
~N~ dòng tiếp theo mỗi dòng chứa một số nguyên dương ~a[i]~ ~(1 \le i \le N, 1 \le a[i] \le 10^{3})~.
Output
Một số nguyên là kết quả cần tìm theo yêu cầu của đề.
Sample Input 1
5 7 8
1
2
3
4
5
Sample Output 1
22
Notes
Tính tổng ~7~ số liên tục từ vị trí thứ ~8~ của dãy: ~3+4+5+1+2+3+4=22~.
Bình luận
gay
include<bits/stdc++.h>
using namespace std; const int N=2e5+7; long long A[N]; int main() { long long n,k,p;cin>>n>>k>>p; for(int i=1;i<=n;++i) { cin>>A[i]; } for(int i=n+1;i<N;++i) { long long r=i%n; if(r==0) { A[i]=A[n]; } else A[i]=A[r]; } long long tong=0; for(int i=p;i<N;++i) { if(k>0) { tong+=A[i]; k--; } else break; } cout<<tong; return 0; }