View difference between Paste ID: 8uVmH4i7 and QzNLGRCn
SHOW: | | - or go back to the newest paste.
1
/*
2
ID: dixtosa1
3
PROG: milk2
4
LANG: C++11
5
*/
6
#pragma comment(linker, "/STACK:16777216")
7
#include <iostream>
8
#include <fstream>
9
#include <cstdio>
10
#include <stdio.h>
11
#include <cstdlib>
12
#include <stdlib.h>
13
#include <string>
14
//#include <string.h>
15
#include <list>
16
#include <fstream>
17
#include <algorithm>
18
#include <cmath>
19
#include <map>
20
#include <vector>
21
#include <iomanip>
22
#include <queue>
23
#include <deque>
24
#include <set>
25
#include <stack>
26
#include <sstream>
27
#include <assert.h>
28
#include <functional> //std::greater<int>
29
//#include <tuple>
30
31
//#include "Biginteger.cpp"
32
//#include "sqrt.cpp"
33
//#include "tree.cpp"
34
//#include "funcs.cpp"
35
36
typedef long long ll;
37
typedef std::pair<ll,ll> pii;
38
#define ALL(x)           (x).begin(), (x).end()
39
#define forn(N)          for(ll i = 0; i<(int)N; i++)
40
#define fornj(N)         for(ll j = 0; j<(int)N; j++)
41
#define fornk(N)         for(ll k = 0; k<(int)N; k++)
42
#define foreach(c,itr) for(auto itr=(c).begin();itr!=(c).end();itr++)
43
#define PI 3.1415926535897932384626433
44
#define LINF (1LL<<60)
45
#define INF (1<<30)
46
//#define MOD 1000007
47
#define awesome vector<int> A(N); forn(N) scanf("%d", &A[i]);
48
#define v vector
49
#define File "Patterns"
50
using namespace std;
51
52
int DP[20000], MAX = -INF, ans = 0;
53
int main()
54
{
55
	#if defined(_DEBUG) || defined(_RELEASE)
56
	freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
57
	#else
58
	//freopen(File".in", "r", stdin); freopen(File".out", "w", stdout);
59
	#endif
60
61
	v<int> A(1);
62
	
63
	char chr;
64
	while(scanf("%c", &chr) == 1)
65
	{
66
		if (isalpha(chr)) A.back()++;
67
		else if (A.back() > 0) A.push_back(0);
68
	}
69
	int N = A.size();
70
71
	if (N == 1) return cout << A[0], 0;
72
        if (N > 10000) {
73
            while(1) {}
74
        }
75
	DP[0] = A[0];
76
	DP[1] = A[1];
77
	MAX = DP[0];
78
	ans = max(DP[0], DP[1]);
79
	for(int i = 2; i<N; i++)
80
	{
81
		DP[i] = A[i] + MAX;
82
		MAX = max(MAX, DP[i - 1]);
83
		ans = max(ans, DP[i]);
84
	}
85
	cout << ans;
86
87
	//printf("\n\ntime-%.3lf", clock()*1e-3);
88
	return 0;
89
}