Artifact 39f7d6474ae7b7535be9e933ba2a2af9b5c5ea79:
0000: 23 69 6e 63 6c 75 64 65 20 3c 69 6f 73 74 72 65 #include <iostre
0010: 61 6d 3e 20 0d 0a 23 69 6e 63 6c 75 64 65 20 3c am> ..#include <
0020: 73 73 74 72 65 61 6d 3e 20 0d 0a 23 69 6e 63 6c sstream> ..#incl
0030: 75 64 65 20 3c 69 6f 6d 61 6e 69 70 3e 20 0d 0a ude <iomanip> ..
0040: 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 #include <vector
0050: 3e 20 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 > ..#include <st
0060: 72 69 6e 67 3e 20 0d 0a 23 69 6e 63 6c 75 64 65 ring> ..#include
0070: 20 3c 6d 61 70 3e 20 0d 0a 23 69 6e 63 6c 75 64 <map> ..#includ
0080: 65 20 3c 73 65 74 3e 20 0d 0a 23 69 6e 63 6c 75 e <set> ..#inclu
0090: 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 20 0d de <algorithm> .
00a0: 0a 23 69 6e 63 6c 75 64 65 20 3c 6e 75 6d 65 72 .#include <numer
00b0: 69 63 3e 20 0d 0a 23 69 6e 63 6c 75 64 65 20 3c ic> ..#include <
00c0: 69 74 65 72 61 74 6f 72 3e 20 0d 0a 23 69 6e 63 iterator> ..#inc
00d0: 6c 75 64 65 20 3c 66 75 6e 63 74 69 6f 6e 61 6c lude <functional
00e0: 3e 20 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 63 6f > ..#include <co
00f0: 6d 70 6c 65 78 3e 20 0d 0a 23 69 6e 63 6c 75 64 mplex> ..#includ
0100: 65 20 3c 71 75 65 75 65 3e 20 0d 0a 23 69 6e 63 e <queue> ..#inc
0110: 6c 75 64 65 20 3c 73 74 61 63 6b 3e 20 0d 0a 23 lude <stack> ..#
0120: 69 6e 63 6c 75 64 65 20 3c 63 6d 61 74 68 3e 20 include <cmath>
0130: 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 63 61 73 73 ..#include <cass
0140: 65 72 74 3e 20 0d 0a 23 69 6e 63 6c 75 64 65 20 ert> ..#include
0150: 3c 63 73 74 72 69 6e 67 3e 20 0d 0a 75 73 69 6e <cstring> ..usin
0160: 67 20 6e 61 6d 65 73 70 61 63 65 20 73 74 64 3b g namespace std;
0170: 20 0d 0a 74 79 70 65 64 65 66 20 6c 6f 6e 67 20 ..typedef long
0180: 6c 6f 6e 67 20 4c 4c 3b 20 0d 0a 74 79 70 65 64 long LL; ..typed
0190: 65 66 20 63 6f 6d 70 6c 65 78 3c 64 6f 75 62 6c ef complex<doubl
01a0: 65 3e 20 43 4d 50 3b 20 0d 0a 0d 0a 63 6c 61 73 e> CMP; ....clas
01b0: 73 20 4c 61 72 67 65 73 74 53 75 62 73 65 71 75 s LargestSubsequ
01c0: 65 6e 63 65 20 7b 20 70 75 62 6c 69 63 3a 20 0d ence { public: .
01d0: 0a 20 20 73 74 72 69 6e 67 20 67 65 74 4c 61 72 . string getLar
01e0: 67 65 73 74 28 73 74 72 69 6e 67 20 73 29 20 0d gest(string s) .
01f0: 0a 20 20 7b 20 0d 0a 20 20 20 20 73 74 72 69 6e . { .. strin
0200: 67 20 72 65 73 75 6c 74 3b 20 0d 0a 20 20 20 20 g result; ..
0210: 66 6f 72 28 73 74 72 69 6e 67 3a 3a 69 74 65 72 for(string::iter
0220: 61 74 6f 72 20 69 74 3d 73 2e 62 65 67 69 6e 28 ator it=s.begin(
0230: 29 3b 20 69 74 21 3d 73 2e 65 6e 64 28 29 3b 20 ); it!=s.end();
0240: 29 20 7b 20 0d 0a 20 20 20 20 20 20 69 74 20 3d ) { .. it =
0250: 20 6d 61 78 5f 65 6c 65 6d 65 6e 74 28 69 74 2c max_element(it,
0260: 20 73 2e 65 6e 64 28 29 29 3b 20 0d 0a 20 20 20 s.end()); ..
0270: 20 20 20 69 66 28 20 69 74 20 21 3d 20 73 2e 65 if( it != s.e
0280: 6e 64 28 29 20 29 20 0d 0a 20 20 20 20 20 20 20 nd() ) ..
0290: 20 72 65 73 75 6c 74 20 2b 3d 20 2a 69 74 2b 2b result += *it++
02a0: 3b 20 0d 0a 20 20 20 20 7d 20 0d 0a 20 20 20 20 ; .. } ..
02b0: 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 20 0d return result; .
02c0: 0a 20 20 7d 20 0d 0a 7d 3b 20 0d 0a . } ..}; ..