Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <cstdio>
  3. #include <ctime>
  4. #include <cstdlib>
  5. #include <iostream>
  6. #include <algorithm>
  7. #include <cmath>
  8. #include <set>
  9. #include <vector>
  10. #include <stack>
  11. #include <map>
  12. #include <string>
  13. #include <cstring>
  14. #include <queue>
  15. #include <utility>
  16. using namespace std;
  17.  
  18.  
  19. #define PB push_back
  20. #define sqr(x) (x)*(x)
  21. long long const INF= 1ll<<32;
  22. int price(int a,int b,int c,int len){
  23. int ans=0;
  24. if(a != 0) ans++;
  25. if(b-a != 1) ans++;
  26. if(c - b != 1) ans++;
  27. if(c != len -1) ans++;
  28. if(ans < 0) ans = 10000;
  29. return ans;
  30. }
  31. int main()
  32. {
  33. #ifdef HOME
  34. //freopen("k8.in","r",stdin);
  35. freopen("input.txt","r",stdin);
  36. //freopen("k8.out","w",stdout);
  37. //freopen("output.txt","w",stdout);
  38. #else
  39. freopen("input.txt","r",stdin);
  40. freopen("output.txt","w",stdout);
  41. #endif
  42. string s;
  43. int p1=-1,p2=-1,p3=-1;
  44. vector<int> ss,ii;
  45. cin >> s;
  46. transform(s.begin(),s.end(),s.begin(),::tolower);
  47. for(int i=0;i<s.length();i++){
  48. if(s[i] == 's') ss.push_back(i);
  49. if(s[i] == 'i') ii.push_back(i);
  50.  
  51. }
  52. //while(ii.size() > 0 && ii[0] <= ss[0]) ii.erase(ii.begin());
  53.  
  54.  
  55.  
  56. if(s.length() < 3 || ss.size() < 2 || ii.size() < 1 || ii[ii.size()-1] > ss[ss.size()-1] || ii[0] < ss[0])
  57. puts("-1");
  58. else{
  59. int ans=1000;
  60.  
  61. for(int i=0;i<ss.size();i++)
  62. for(int j=0;j<ii.size();j++)
  63. for(int k=i+1;k<ss.size();k++)
  64. ans=min(ans,price(ss[i],ii[j],ss[k],s.length()));
  65.  
  66. printf("%d\n",ans);
  67. }
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement