Submission #1042558


Source Code Expand

#include <bits/stdc++.h>
#include <cstdio>
#include <cstdlib>

#ifdef _MSC_VER
#include <Windows.h>
#else
#include <unistd.h>
#endif

using namespace std;

//conversion
//------------------------------------------
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}

//math
//-------------------------------------------
template<class T> inline T sqr(T x) {return x*x;}

//typedef
//------------------------------------------
typedef pair<int, int> PII;
typedef pair<long, long> PLL;
typedef long long LL;
//container util
//------------------------------------------
#define ALL(a)  (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define PB push_back
#define MP make_pair
#define SZ(a) int((a).size())
#define SORT(c) sort((c).begin(),(c).end())

//repetition
//------------------------------------------
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)

//constant
//--------------------------------------------
const double EPS = 1e-10;
const double PI  = acos(-1.0);

//clear memory
#define CLR(a) memset((a), 0 ,sizeof(a))


int main(){
    int N,K;
    cin>>N>>K;
    int a[N];
    int maxi=0;
    REP(i,N){
        cin>>a[i];
        maxi=max(maxi,a[i]);
    }
    if(maxi<=0){
        cout<<0<<endl;return 0;
    }
    int cnt=0;
    bool flag=true;
    REP(i,N-K){
        if(a[i]<0&&flag)a[i]=0;
        else if(a[i]>0)flag=false;
    }
    flag=true;
    REP(i,N-K){
        if(a[N-1-i]<0&&flag)a[N-1-i]=0;
        else if(a[N-1-i]>0)flag=false;
    }
    REP(i,N){
        if(a[i]<=0){
            cnt++;
        }else{
            cnt=0;
        }
        if(a[i]<=0){
            if(cnt==K-1){
                for(int j=i;j>i-K+1;j--){
                    a[j]=0;
                }
            }else if(cnt>K-1){
                a[i]=0;
            }
        }
    }
    
    int res=0;
    REP(i,N){
        //cout<<a[i]<<" ";
        res+=a[i];
    }
    //cout<<endl;
    cout<<max(res,0)<<endl;
    return 0;
}

Submission Info

Submission Time
Task B - Contiguous Repainting
User blue0620
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2183 Byte
Status WA
Exec Time 54 ms
Memory 640 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 4
AC × 9
WA × 17
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt
Case Name Status Exec Time Memory
0_00.txt AC 2 ms 256 KB
0_01.txt AC 3 ms 256 KB
0_02.txt AC 3 ms 256 KB
0_03.txt AC 3 ms 256 KB
1_00.txt AC 3 ms 256 KB
1_01.txt AC 3 ms 256 KB
1_02.txt AC 3 ms 256 KB
1_03.txt AC 24 ms 640 KB
1_04.txt WA 51 ms 640 KB
1_05.txt AC 54 ms 640 KB
1_06.txt WA 49 ms 640 KB
1_07.txt WA 50 ms 640 KB
1_08.txt WA 50 ms 640 KB
1_09.txt WA 50 ms 640 KB
1_10.txt WA 48 ms 640 KB
1_11.txt WA 50 ms 640 KB
1_12.txt WA 50 ms 640 KB
1_13.txt WA 49 ms 640 KB
1_14.txt WA 48 ms 640 KB
1_15.txt WA 50 ms 640 KB
1_16.txt WA 50 ms 640 KB
1_17.txt WA 48 ms 640 KB
1_18.txt WA 50 ms 640 KB
1_19.txt WA 48 ms 640 KB
1_20.txt WA 49 ms 640 KB
1_21.txt WA 49 ms 640 KB