Sicily--17956. Maximum Multiple

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <cmath>
#include <algorithm>
#include <string>
#include <iostream>  
#include <algorithm>  
#include <string>    
using namespace std;  
int main()  
{  
    string str;  
    cin >> str;  
    map<int,int> mymap; 
    sort(str.begin(), str.end());    
    while (next_permutation(str.begin(), str.end()))  
    {    
        int sum=0;
        for(int i=0;i<str.length();i++)
        {
            sum=sum*10+str[i]-'0';
        }
        if(sum%30==0)
        mymap[sum]++;
    }  
    if(!mymap.empty())
    {
    map<int,int>::iterator iter;
    iter=mymap.end();
    iter--;
    cout<<iter->first<<endl;
    }
    else
    cout<<-1<<endl;
    return 0;
}