CSES - KILO 2016 4/5 - Results
Submission details
Task:String
Sender:PILIPOJAT!!
Submission time:2016-09-27 18:58:29 +0300
Language:Java
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.10 sdetails
#2ACCEPTED0.11 sdetails
#3ACCEPTED0.31 sdetails
#40.10 sdetails
#5ACCEPTED0.11 sdetails
#6ACCEPTED0.11 sdetails
#7ACCEPTED0.67 sdetails
#8ACCEPTED0.11 sdetails
#9ACCEPTED0.11 sdetails
#10ACCEPTED0.11 sdetails
#11ACCEPTED0.66 sdetails
#120.32 sdetails
#13ACCEPTED0.22 sdetails
#14ACCEPTED0.32 sdetails
#15ACCEPTED0.57 sdetails
#16ACCEPTED0.30 sdetails
#17ACCEPTED0.21 sdetails
#18ACCEPTED0.34 sdetails
#19ACCEPTED0.64 sdetails
#20ACCEPTED0.32 sdetails
#21ACCEPTED0.35 sdetails
#22ACCEPTED0.36 sdetails
#23ACCEPTED0.40 sdetails
#24ACCEPTED0.33 sdetails
#25ACCEPTED0.40 sdetails
#26ACCEPTED0.39 sdetails
#27ACCEPTED0.88 sdetails
#280.32 sdetails
#29ACCEPTED0.36 sdetails
#30ACCEPTED0.39 sdetails

Code

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
import java.util.*;
import java.io.*;

/**
 *
 * @author eamiller
 */

public class Cses {

    /**
     * @param args the command line arguments
     */

    
    public static void main(String[] args) {
        /*IO io = new IO();
        
        int k = io.nextInt();
        char[] input = io.next().toCharArray();
        
        //HashMap<Character, Integer> map = new HashMap<Character, Integer>();
        ArrayList<Asd> merkit = new ArrayList<Asd>();
        
        
        for(int i = 0; i< input.length; i++){
            merkit.add(new Asd(input[i], i));
        }
        for(int i=0; i<merkit.size(); i++) System.out.println(merkit.get(i));
        Collections.sort(merkit);
        for(int i=0; i<merkit.size(); i++) System.out.println(merkit.get(i));
        
        int index=0;
        while(k > 0){
            if(merkit.get(index).merkki != 'a'){
                if(merkit.get(index).merkki == 'z') merkit.get(index).merkki = 'a';
                else merkit.get(index).merkki++;
                k--;
            } else {
                if(index < merkit.size()-1) index++;
            }
        }
        
        for(Asd a : merkit){
            a.sortByIndex = true;
        }
        
        for(int i=0; i<merkit.size(); i++) System.out.println(merkit.get(i));
        
        Collections.sort(merkit);
        for(Asd a : merkit){
            System.out.print(a.merkki);
        }*/
        IO io = new IO();
        int k = io.nextInt();
        char[] input = io.next().toCharArray();
        while(input[0] != 'a' && k>0) {
            if(input[0]=='z') input[0] = 'a';
            else input[0]++;
            k--;
        }
        
        for(int i=1; i<input.length; i++) {
            int apumuuttuja=0;
            char apukirjain=input[i];
            while(input[i] != 'a' && k>0) {
                if(input[i]=='z') input[i] = 'a';
                else input[i]++;
                k--;
                apumuuttuja++;
            }
            if(input[i]!='a') {
                input[i] = apukirjain;
                k+=apumuuttuja;
            }
        }
        
        while(k>0) {
            if(input[input.length-1]=='z') input[input.length-1] = 'a';
            else input[input.length-1]++;
            k--;
        }
        
        for(int i=0; i<input.length; i++) System.out.print(input[i]);
        System.out.println();
        
    }
    
//    public static class Asd implements Comparable {
//        boolean sortByIndex = false;
//        char merkki;
//        int index;
//
//        public Asd(char merkki, int index) {
//            this.merkki = merkki;
//            this.index = index;
//        }
//        
//        @Override
//        public String toString() {
//            return index + ": " + merkki;
//        }
//        
//        @Override
//        public int compareTo(Object o) {
//            if(sortByIndex){
//                Asd a = (Asd) o;
//                return this.index - a.index;
//            }else{
//                Asd a = (Asd) o;
//                return a.merkki - this.merkki;
//            }
//        }
//        
//    }
    
    
    public static class IO extends PrintWriter {
	private InputStreamReader r;
	private static final int BUFSIZE = 1 << 15;
	private char[] buf;
	private int bufc;
	private int bufi;
	private StringBuilder sb;
	
	public IO() {
		super(new BufferedOutputStream(System.out));
		r = new InputStreamReader(System.in);
		
		buf = new char[BUFSIZE];
		bufc = 0;
		bufi = 0;
		sb = new StringBuilder();
	}
	
	private void fillBuf() throws IOException {
		bufi = 0;
		bufc = 0;
		while(bufc == 0) {
			bufc = r.read(buf, 0, BUFSIZE);
			if(bufc == -1) {
				bufc = 0;
				return;
			}
		}
	}
	
	private boolean pumpBuf() throws IOException {
		if(bufi == bufc) {
			fillBuf();
		}
		return bufc != 0;
	}
	
	private boolean isDelimiter(char c) {
		return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f';
	}
	
	private void eatDelimiters() throws IOException {
		while(true) {
			if(bufi == bufc) {
				fillBuf();
				if(bufc == 0) throw new RuntimeException("IO: Out of input.");
			}
			
			if(!isDelimiter(buf[bufi])) break;
			++bufi;
		}
	}
	
	public String next() {
		try {
			sb.setLength(0);
			
			eatDelimiters();
			int start = bufi;
			
			while(true) {
				if(bufi == bufc) {
					sb.append(buf, start, bufi - start);
					fillBuf();
					start = 0;
					if(bufc == 0) break;
				}
				
				if(isDelimiter(buf[bufi])) break;
				++bufi;
			}
			
			sb.append(buf, start, bufi - start);
			
			return sb.toString();
		} catch(IOException e) {
			throw new RuntimeException("IO.next: Caught IOException.");
		}
	}
	
	public int nextInt() {
		try {
			int ret = 0;
			
			eatDelimiters();
			
			boolean positive = true;
			if(buf[bufi] == '-') {
				++bufi;
				if(!pumpBuf()) throw new RuntimeException("IO.nextInt: Invalid int.");
				positive = false;
			}
			
			boolean first = true;
			while(true) {
				if(!pumpBuf()) break;
				if(isDelimiter(buf[bufi])) {
					if(first) throw new RuntimeException("IO.nextInt: Invalid int.");
					break;
				}
				first = false;
				
				if(buf[bufi] >= '0' && buf[bufi] <= '9') {
					if(ret < -214748364) throw new RuntimeException("IO.nextInt: Invalid int.");
					ret *= 10;
					ret -= (int)(buf[bufi] - '0');
					if(ret > 0) throw new RuntimeException("IO.nextInt: Invalid int.");
				} else {
					throw new RuntimeException("IO.nextInt: Invalid int.");
				}
				
				++bufi;
			}
			
			if(positive) {
				if(ret == -2147483648) throw new RuntimeException("IO.nextInt: Invalid int.");
				ret = -ret;
			}
			
			return ret;
		} catch(IOException e) {
			throw new RuntimeException("IO.nextInt: Caught IOException.");
		}
	}
	
	public long nextLong() {
		try {
			long ret = 0;
			
			eatDelimiters();
			
			boolean positive = true;
			if(buf[bufi] == '-') {
				++bufi;
				if(!pumpBuf()) throw new RuntimeException("IO.nextLong: Invalid long.");
				positive = false;
			}
			
			boolean first = true;
			while(true) {
				if(!pumpBuf()) break;
				if(isDelimiter(buf[bufi])) {
					if(first) throw new RuntimeException("IO.nextLong: Invalid long.");
					break;
				}
				first = false;
				
				if(buf[bufi] >= '0' && buf[bufi] <= '9') {
					if(ret < -922337203685477580L) throw new RuntimeException("IO.nextLong: Invalid long.");
					ret *= 10;
					ret -= (long)(buf[bufi] - '0');
					if(ret > 0) throw new RuntimeException("IO.nextLong: Invalid long.");
				} else {
					throw new RuntimeException("IO.nextLong: Invalid long.");
				}
				
				++bufi;
			}
			
			if(positive) {
				if(ret == -9223372036854775808L) throw new RuntimeException("IO.nextLong: Invalid long.");
				ret = -ret;
			}
			
			return ret;
		} catch(IOException e) {
			throw new RuntimeException("IO.nextLong: Caught IOException.");
		}
	}
	
	public double nextDouble() {
		return Double.parseDouble(next());
	}
}

    
}

Test details

Test 1

Verdict: ACCEPTED

input
887
lrbb

correct output
aaah

user output
aaah

Test 2

Verdict: ACCEPTED

input
760493
bhcdarz

correct output
aaaaaaw

user output
aaaaaaw

Test 3

Verdict: ACCEPTED

input
365180541
kkyhidd

correct output
aaaaaay

user output
aaaaaay

Test 4

Verdict:

input
1
cdx

correct output
cdy

user output
ddx

Test 5

Verdict: ACCEPTED

input
3930
mowfrx

correct output
aaaaat

user output
aaaaat

Test 6

Verdict: ACCEPTED

input
175012
ybldbef

correct output
aaaaaad

user output
aaaaaad

Test 7

Verdict: ACCEPTED

input
973594325
rcbynecdy

correct output
aaaaaaaab

user output
aaaaaaaab

Test 8

Verdict: ACCEPTED

input
7
x

correct output
e

user output
e

Test 9

Verdict: ACCEPTED

input
926
klorel

correct output
aaaaaf

user output
aaaaaf

Test 10

Verdict: ACCEPTED

input
925858
mpap

correct output
aaao

user output
aaao

Test 11

Verdict: ACCEPTED

input
548233368
wkhopkmcoqhnwnkuewhsqmgbbuqclj...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 12

Verdict:

input
8
bdbqvwxdckwntphicbqqfescvpmzja...

correct output
bdbqawadckwntphicbqqfescvpmzja...

user output
jdbqvwxdckwntphicbqqfescvpmzja...

Test 13

Verdict: ACCEPTED

input
9878
cbusdsezmbcxvmfjtkyearvjviwhfb...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 14

Verdict: ACCEPTED

input
5536
vningmmifzaxwjncavgpjccxuipdxk...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 15

Verdict: ACCEPTED

input
574778989
ugefexzkyropvfzryqgamrnstlmlch...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 16

Verdict: ACCEPTED

input
9
avfuykxvndelmcsraptvllmvxvvimy...

correct output
aafuakxvndelmcsraptvllmvxvvima...

user output
aafuakxvndelmcsraptvllmvxvvima...

Test 17

Verdict: ACCEPTED

input
4186
avqhidqhzridoaotjzuvujccettblw...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 18

Verdict: ACCEPTED

input
913168
isefpkqymobalppcslefwzgfnzbkuk...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 19

Verdict: ACCEPTED

input
549610773
gkljofuseqwjhsjncvpvlngbhccamd...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 20

Verdict: ACCEPTED

input
10
xtlbgkasvbtadcxtxbrdcxbfvjmesy...

correct output
aalbgkasvbtadcxtxbrdcxbfvjmesy...

user output
aalbgkasvbtadcxtxbrdcxbfvjmesy...

Test 21

Verdict: ACCEPTED

input
9644
gnjtzrsikjicuazpjmyrskuhhbscpy...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 22

Verdict: ACCEPTED

input
348829
elgakzqlpyqtqsamdbshvvyqvhhdyb...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 23

Verdict: ACCEPTED

input
27703587
cwyqzninwdodwtrogulkqrdsfejplc...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 24

Verdict: ACCEPTED

input
9
xzjxyoxwbxspqecxodekyvatwddqpc...

correct output
aajaaoxwbxspqecxodekyvatwddqpc...

user output
aajaaoxwbxspqecxodekyvatwddqpc...

Test 25

Verdict: ACCEPTED

input
6840
mgfbgwlluocxchgxmgncfpjyzftlme...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 26

Verdict: ACCEPTED

input
554050
jfwqiuhoukdfpzsmufbaweptdcltvq...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 27

Verdict: ACCEPTED

input
848638908
kartntdmgnzdmsnhaijyogfolsqlwh...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 28

Verdict:

input
1
jyfbmeehodkzrmzhmmpswrbhsnycby...

correct output
jyfbmeehodkarmzhmmpswrbhsnycby...

user output
kyfbmeehodkzrmzhmmpswrbhsnycby...

Test 29

Verdict: ACCEPTED

input
9343
gqgpjpdglxzlurhipkjgbocytigbfd...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

Test 30

Verdict: ACCEPTED

input
219927
rtqzfgteqdsxzdcybrjwprktsocdtb...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...