মান লিখুন: আমাদের কাছে n উপাদান বিশিষ্ট একটি অ্যারে A এবং আরেকটি মান c রয়েছে। আমাদের সিস্টেমে একটি ক্রেজি ওয়ার্ড প্রসেসর আছে যেখানে আমরা ক্যারেক্টার টাইপ করতে পারি কিন্তু যদি আমরা 연달া c সেকেন্ড টাইপ না করি, তবে লেখা সব অক্ষর মুছে যাবে। A[i] নির্দেশ করে i-তম ক্যারেক্টার টাইপ করার সময়। সব nটি ক্যারেক্টার টাইপ করার পর স্ক্রিনে কতগুলো ক্যারেক্টার থাকবে তা বের করতে হবে।
উদাহরণ
যদি ইনপুট হয় A = [1, 3, 8, 14, 19, 20]; c = 5, তবে আউটপুট হবে 3। কারণ ৮-তম সেকেন্ডে স্ক্রিনে ৩টি ওয়ার্ড থাকবে। তারপর ১৩-তম সেকেন্ডে সব মুছে যাবে। ১৪ ও ১৯-তম সেকেন্ডে আরও দুটি ক্যারেক্টার টাইপ হবে, এবং অবশেষে ২০-তম সেকেন্ডে আরও একটি, মোট ৩টি অক্ষর থাকবে।
সমাধানের ধাপসমূহ
s := 1
n := A এর আকার
for i := 1 থেকে n-1:
যদি (A[i] - A[i-1]) <= c:
s বাড়ান
অন্যথায়:
s := 1
s রিটার্ন করুন
C++ বাস্তবায়ন
#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A, int c) {
int s = 1;
int n = A.size();
for (int i = 1; i < n; i++) {
if ((A[i] - A[i - 1]) <= c) {
s++;
} else {
s = 1;
}
}
return s;
}
int main() {
vector<int> A = { 1, 3, 8, 14, 19, 20 };
int c = 5;
cout << solve(A, c) << endl;
}
ইনপুট
{ 1, 3, 8, 14, 19, 20 }, 5
আউটপুট
3