1857B - Maximum Rounding - CodeForces Solution


greedy implementation

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
//#define int long long
typedef pair<int,int> PII;
//const int N = 

void solve()
{
    string s;
    cin>>s;
   
    if(s[0]>='5') 
    {
    	cout<<"1";
    	for(int i=0;i<s.size();i++)
    	{
    		cout<<"0";
		}
		cout<<endl;
		return;
	}
	int j=-1;
    for(int i=s.size()-1;i>=1;i--)
    {
    	if(s[i]>='5') 
    	{
    		s[i-1]++;
    		j=i;
		}
	}
	if(j==-1) cout<<s<<endl;
	else
	{
		if(s[0]>='5') 
	    {
	    	cout<<"1";
	    	for(int i=0;i<s.size();i++)
	    	{
	    		cout<<"0";
			}
			cout<<endl;
			return;
		}
		for(int i=0;i<j;i++)
		{
			cout<<s[i];
		}
		for(int i=j;i<s.size();i++)
		{
			cout<<"0";
		}
		cout<<endl;
	}
	
}
signed main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    {
		solve();
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

1702C - Train and Queries
816B - Karen and Coffee
838D - Airplane Arrangements
148B - Escape
847G - University Classes
1110A - Parity
1215B - The Number of Products
604C - Alternative Thinking
1204C - Anna Svyatoslav and Maps
322A - Ciel and Dancing
1689B - Mystic Permutation
1711B - Party
1702D - Not a Cheap String
1714F - Build a Tree and That Is It
1703F - Yet Another Problem About Pairs Satisfying an Inequality
610A - Pasha and Stick
1200A - Hotelier
1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves