View difference between Paste ID: QzNLGRCn and jk0kDGta
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 <cstring>
10+
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 DP[10000], MAX = -INF, ans = 0;
53+
54
{
55
	#if defined(_DEBUG) || defined(_RELEASE)
56-
	memset(DP, 0, sizeof(DP));
56+
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
73
	DP[0] = A[0];
74
	DP[1] = A[1];
75
	MAX = DP[0];
76
	ans = max(DP[0], DP[1]);
77
	for(int i = 2; i<N; i++)
78
	{
79
		DP[i] = A[i] + MAX;
80
		MAX = max(MAX, DP[i - 1]);
81
		ans = max(ans, DP[i]);
82
	}
83
	cout << ans;
84
85
	//printf("\n\ntime-%.3lf", clock()*1e-3);
86
	return 0;
87
}