CCCPaste

Untitled

#include 
#include 
#include 
#include 
using namespace std;
int n, k, S;
int niza[1005];
int dp[15][1005][1005];
int rec(int i, int brnacekori, int brnacevki){
    if(i==S){
        return 0;
    }

    if(dp[brnacevki][brnacekori][i]!=-1){
        return dp[brnacevki][brnacekori][i];
    }

    int result=0;
    int topka=0;

    if(niza[i]==brnacevki){
            topka=1;
    }

    result=max(result, rec(i+1, brnacekori, brnacevki)+topka);

    if((brnacevki - 1 >= 0)and(brnacekori> t;
    while(t--) {
cin>>n>>k>>S;
for(int i=0; i>niza[i];
    niza[i]--;
}

for(int i=0; i<=n; i++){
    for(int j=0; j<=k; j++){
        for(int k=0; k<=S; k++){
            dp[i][j][k]=-1;
        }
    }
}
        
        int r = rec(0, 0, 0);
        if(k > 0) {
            r = max(r, rec(0, 1, 1));
        }
        cout << r << endl;
    }
    return 0;
}