1061
//int n,k;
//int kk[50];
//int m[10100] = {0};
 
//cin >> n >> k;
//FOR(i,k)
//    cin >> kk[i];
 
//int t = *min_element(kk, kk+k);
 
//m[t] = 1;
//FOR(i,n)
//{
//    FOR(j,k)
//    {
//        
//    }
//}
 
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <math.h>
#include <limits.h>
 
using namespace std;
 
// Datatypes
typedef vector<int> vi; 
typedef vector<string> vs;
typedef vector<vi> vvi; 
typedef pair<int,int> ii; 
typedef long long ll;
typedef long double ld;
 
// Define
#define sz(a)             int((a).size()) 
#define pb                push_back 
#define all(c)            (c).begin(),(c).end() 
#define present(c,x)      ((c).find(x) != (c).end()) 
#define cpresent(c,x)     (find(all(c),x) != (c).end()) 
#define FOR(_i,_n)        for(int (_i) = 0; (_i) < (_n); (_i)++)
#define mp                make_pair
 
// Constants
const double eps = 1e-8; 
const double PI = 3.1415926535897932384626433832795;
 
#define INPUT_FILE "xo.in"
#define OUTPUT_FILE "xo.out"
 
char m[102000];
 
int main(void)
{
#ifdef ALEX
    freopen("input.in", "r", stdin);
    freopen("output.out", "w", stdout);
#else
    //freopen(INPUT_FILE, "r", stdin);
    //freopen(OUTPUT_FILE, "w", stdout);
#endif
 
    int n;
    int k;
    int l = -1;
    int ms = INT_MAX;
    int j;
    bool f = false;
    int ss = 0;
 
    cin >> n >> k;
 
    FOR(i,(n/80)+1)
        scanf("%s", &m[i*80]);
 
    for(int i = 0; i < n; i++)
    {
        if(f)
        {
            if(m[i+k-1] == '*')
            {
                f = false;
                i += k - 1;
            }
            else
            {
                ss -= m[i-1] - '0';
                ss += m[i+k-1] - '0';
            }
        }
        else
        {
            ss = 0;
            int c = 0;
            for(j = 0; j < n; j++)
            {
                if((i + j) > (n-1))
                    break;
 
                if(m[i+j] == '*')
                {
                    c = 0;
                    ss = 0;
                }
                else
                {
                    ss += m[i+j] - '0';
                    c++;
                }
 
                if(c == k)
                {
                    f = true;
                    break;
                }
            }
 
            if(!f)
                i += j;
            else
                i += (j-k+1);
        }
 
        if(f)
        {
            if(ms > ss)
            {
                l = i;
                ms = ss;
            }
        }
 
        if((i + k) >= n)
            break;
    }
 
    cout << l+1;
 
    return 0;
}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.