Hex Artifact Content
Not logged in

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              .  } ..}; ..