/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Wrong Answer 20ms 616.0 KiB
#3 Wrong Answer 30ms 584.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
#define trace(x) cout << #x << ": " << x << endl
int32_t main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int t;
    cin >> t;
    while(t--)
    {
    	int n,k;
    	cin>>n>>k;
    	vector<int> a(n),b,an;
    	int sum = 0;
    	for(int i = 0; i < n; i++)
    	{
    	    cin>>a[i];
    	    sum+=a[i];
    	    b.push_back(sum);
    	}
    	int ans = INT_MAX;
    	
    	for(int i = 0; i+k-1 < b.size(); i++)
    	{
    	    int x = i+k-1;
    	    int subsum;
    	    if(i==0)
    	    	subsum = b[x];
    	    else if(i>0&&i+k-1<b.size()-1)
    	    	subsum = b[x]-b[i-1];
    	    else if(x == b.size()-1)
    	    	subsum = b[x]-b[i-1];
    	    ans = subsum;
    	    
    	    if(i==0){
    	    	// subsum = b[x];
    	    	// ans = subsum;
    	    	// cout<<ans<<endl;
    	    	ans = min(ans,subsum-a[x]+a[x+1]);
    	    }
    	    else if(i>0&&i+k-1<b.size()-1){
    	    	// subsum = b[x]-b[i-1];
    	    	// ans = subsum;
    	    	// cout<<ans<<endl;
    	    	ans = min(ans,subsum-a[i]+a[i-1]);
    	    	ans = min(ans, subsum-a[x]+a[x+1]);
    	    }
    	    else if(x == b.size()-1){
    	    	// subsum = b[x]-b[i-1];
    	    	// ans = subsum;
    	    	// cout<<ans<<endl;
    	    	ans = min(ans,subsum-a[i]+a[i-1]);
    	
    	    }
    	    an.push_back(ans);
    	}
    	sort(an.begin(),an.end());
    	cout<<an[0]<<endl;

    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1149 Swap and Minimize
Contest
LU IUJPC : Sylhet Division 2024
Language
C++17 (G++ 13.2.0)
Submit At
2024-12-09 05:51:34
Judged At
2024-12-09 05:51:34
Judged By
Score
1
Total Time
30ms
Peak Memory
616.0 KiB