Guest User

Untitled

a guest
Jun 20th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include <vector>
  2. #include <string>
  3. #include <iostream>
  4. #include <algorithm>
  5. #include <cmath>
  6. #include <cstdio>
  7. #include <cstdlib>
  8. #include <fstream>
  9. #include <map>
  10. #include <set>
  11. using namespace std;
  12.  
  13. #define sz(x) int((x).size())
  14. #define FOR(i,a,b) for(int (i) = (a); (i) <= (b); ++(i))
  15. #define ROF(i,a,b) for(int (i) = (a); (i) >= (b); --(i))
  16. #define rep(i,n) for (int (i) = 0; (i) < (n); ++(i))
  17. #define fe(i,a) for (int (i) = 0; (i) < int((a).size()); ++(i))
  18. #define C(a) memset((a),0,sizeof(a))
  19. #define inf 1000000000
  20. #define pb push_back
  21. #define ppb pop_back
  22. #define all(c) (c).begin(), (c).end()
  23. #define pi 2*acos(0.0)
  24. #define sqr(a) (a)*(a)
  25. #define mp(a,b) make_pair((a), (b))
  26. #define X first
  27. #define Y second
  28.  
  29. typedef vector<int> vint;
  30. typedef long long ll;
  31. typedef pair<int, int> pii;
  32.  
  33. class DengklekMakingChains
  34. {
  35. public:
  36. int maxBeauty( vector <string> a ){
  37. int i=0;
  38. int ans=0;
  39. while(i<sz(a)){
  40. if(a[i][0]!='.' && a[i][1]!='.' && a[i][2]!='.'){
  41. ans+=a[i][0]-'0'+a[i][1]-'0'+a[i][2]-'0';
  42. a.erase(a.begin()+i);
  43. }else i++;
  44. }
  45. int g,h,mx=0,uru=0;
  46. rep(i,sz(a)){
  47. if(a[i][0]=='.')
  48. if(a[i][1]!='.')
  49. if(a[i][2]=='.'){
  50. mx=max(mx,a[i][1]-'0');
  51. a.erase(a.begin()+i);
  52. i--;
  53. }
  54. }
  55. uru=mx;
  56. mx=0;
  57. rep(i,sz(a))
  58. rep(j,sz(a))if(i!=j && a[i][2]!='.' && a[j][0]!='.'){
  59. g=a[i][2]-'0';
  60. if(a[i][1]!='.')g+=a[i][1]-'0';
  61. h=a[j][0]-'0';
  62. if(a[j][1]!='.')h+=a[j][1]-'0';
  63. if(g+h>mx){mx=g+h;}
  64. }
  65.  
  66. return max(uru,mx+ans);
  67. }
  68. };
Add Comment
Please, Sign In to add comment