// Online C++ compiler to run C++ program online
#include<iostream>
#include<vector>
#include<stdlib.h>
#include<algorithm>
#include<iomanip>
#include<string.h>
#include<exception>
#include<map>
#include<cmath>
#include<unordered_map>
#include<set>
#include<climits>
#include<ctype.h>
#include<queue>
#include<string>
using namespace std;
int main() {
// 输入
int N;
string str;
getline(cin, str);
cin >> N;
vector<int> list;
while (str.find(',') != string::npos)
{
int idx = str.find(',');
int val = atoi(str.substr(0, idx).c_str());
list.push_back(val);
str = str.substr(idx + 1);
}
int sumNum = 0;
int maxLen = -1;
int left = 0;
int right = 0;
for (;right < list.size(); ++right)
{
sumNum += list[right];
if (sumNum < N) continue;
if (sumNum == N)
{
int len = right - left + 1;
if (len > maxLen)
{
maxLen = len;
}
sumNum -= list[left++];
}
while (sumNum > N)
{
sumNum -= list[left++];
}
}
cout << maxLen << endl;
return 0;
}
华为OD机试-最长连续子序
最新推荐文章于 2024-07-17 23:01:07 发布