Problem:
Score : 200 points

Problem Statement

A string is called a KEYENCE string when it can be changed to keyence by removing its contiguous substring (possibly empty) only once.

Given a string S consisting of lowercase English letters, determine if S is a KEYENCE string.

Constraints

The length of S is between 7 and 100 (inclusive).

S consists of lowercase English letters.

Input

Input is given from Standard Input in the following format:

S

Output

If S is a KEYENCE string, print YES; otherwise, print NO.

Sample Input 1

keyofscience

Sample Output 1

YES

keyence is an abbreviation of key of science.

Sample Input 2

mpyszsbznf

Sample Output 2

NO

Sample Input 3

ashlfyha

Sample Output 3

NO

Sample Input 4

keyence

Sample Output 4

YES

Solution in C (Clang 3.8.0) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <string.h>

int main()
{
	char s[100];
	scanf("%s",s);
	int size = strlen(s);
	int betw = 0;
	int count = 0;
	int tmp=0;
	for (int i = 0; i < size; ++i)
	{
		if(count==0&&s[i]=='k'){
			count++;
			if(i-tmp >=1){
				betw++;
			}
			tmp = i;
		}else if(count==1&&s[i]=='e'){
			count++;
			if(i-tmp >= 2){
				betw++;
			}
			tmp = i;
		}else if(count==2&&s[i]=='y'){
			count++;
			if(i-tmp >= 2){
				betw++;
			}
			tmp =i;
		}else if(count==3&&s[i]=='e'){
			count++;
			if(i-tmp >= 2){
				betw++;
			}
			tmp = i;
		}else if(count==4&&s[i]=='n'){
			count++;
			if(i-tmp >= 2){
				betw++;
			}
			tmp = i;
		}else if(count==5&&s[i]=='c'){
			count++;
			if(i-tmp >= 2){
				betw++;
			}
			tmp = i;
		}else if(count==6&&s[i]=='e'){
			count++;
			if(i-tmp >= 2){
				betw++;
			}
			if((size-1) - i >=1){
				betw++;
			}
		}
	}
	if(count==7&&betw<=1){
		printf("YES");
	}else{
		printf("NO");
	}
	return 0;
}