Explain me why I got TLE for this code on codeforces 
Difference between en1 and en2, changed 21 character(s)
Question Link :-[ E. K-periodic Garland](https://mirror.codeforces.com/contest/1353/problem/E)↵



My Solution is here ↵
```↵

~~~~~↵
#include <climits>↵
#include<iostream>↵
#include<bits/stdc++.h>↵
#include<algorithm>↵
#include<queue>↵
#include <vector>↵
#define ll long long int ↵
using namespace std;↵
int main(){↵
 ll t;↵
 cin>>t;↵
 while(t--){↵
     ll n,k;↵
     cin>>n>>k;↵
     string s ;↵
     cin>>s;↵
     //cout<<"s="<<s<<" k"<<k<<endl;↵
     vector<char> dp[k];↵
     ll i;↵
     ll total=0;↵
     for(i=0;i<n;i++){↵
         if(s[i]=='1'){↵
             total++;↵
         }↵
        dp[i%k].push_back(s[i]);↵
     }↵
     ll min1=INT_MAX;↵
    for(i=0;i<k;i++){↵
        string ansString="";↵
        string mainAns="";↵
        ll j;↵
        for(j=0;j<dp[i].size();j++){↵
            if(dp[i][j]=='0'&&ansString.length()==0){↵
                continue;↵
        } ↵
        else{↵
            ansString=ansString+dp[i][j];↵
        }↵
    }↵
    //cout<<"ansString"<<ansString<<endl;↵
    for(ll kk=ansString.length()-1;kk>=0;kk--){↵
            if(ansString[kk]=='0'&& mainAns.length()==0){↵
                continue;↵
            } ↵
            else{↵
               // cout<<ansString[kk]<<" ";↵
                mainAns=ansString[kk]+mainAns;↵
            }↵
        }↵
    //cout<<"mainAns"<<mainAns<<endl;↵
    ll totalCount = count(dp[i].begin(),dp[i].end(),'1');↵
   // cout<<"totalCount"<<totalCount<<endl;↵
    ll minReq = mainAns.length()-2*totalCount+total;↵
    if(minReq<min1){↵
        min1=minReq;↵
    }↵
 }↵
cout<<min1<<endl;↵
}↵
}↵
~~~~~↵


```↵
I confused why i got TLE but codeforces ↵

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en2 English aksinghal_29 2020-05-16 10:33:48 21
en1 English aksinghal_29 2020-05-16 10:33:10 1656 Initial revision (published)