CSES - KILO 2016 2/5 - Results
Submission details
Task:Lucky numbers
Sender:OOliOO_slayer
Submission time:2016-09-13 18:58:48 +0300
Language:Java
Status:READY
Result:
Test results
testverdicttime
#10.10 sdetails
#20.09 sdetails
#30.09 sdetails
#40.10 sdetails
#50.11 sdetails
#60.10 sdetails
#70.10 sdetails
#80.10 sdetails
#90.09 sdetails
#100.09 sdetails
#110.10 sdetails
#120.10 sdetails
#130.10 sdetails
#140.10 sdetails
#150.10 sdetails
#160.10 sdetails
#170.10 sdetails
#180.10 sdetails
#190.11 sdetails
#200.10 sdetails

Code

//package javaapplication1;
import java.util.*;
import java.io.*;
//public 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());
//	}
//}
//

import java.io.*;

/**
 *
 * @author adahyvar
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        
        IO io = new IO();
        
        String n = io.next();
        
        if (n.length()%3 == 0) {
            io.println(etaisyysSeiskasta(n));
        } else {
            io.println(etaisyysKaikista(n));
        }
        io.close();
    }
    
    public static int etaisyysKaikista(String n) {
        int huonot1 = 0;
        int huonot2 = 0;
        int huonot3 = 0;
        int huonot4 = 0;
        int huonot5 = 0;
        int huonot6 = 0;
        int huonot7 = 0;

        for (int i = 1; i < n.length(); i+=2) {
            if (n.charAt(i) != 0 && n.charAt(i) != 7) {
                huonot7++;
            } else if (n.charAt(i) != 1 && n.charAt(i) != 8 ) {
                huonot1++;
            } else if (n.charAt(i) != 2 && n.charAt(i) != 9) {
                huonot2++;
            } else if (n.charAt(i) != 3) {
                huonot3++;
            } else if (n.charAt(i) != 5) {
                huonot5++;
            } else if (n.charAt(i) != 4) {
                huonot4++;
            } else if (n.charAt(i) != 6) {
                huonot6++;
            }
            
        }
        
        for (int i = 0; i < n.length(); i+=2) {
            if (n.charAt(i) != 0 && n.charAt(i) != 7) {
                huonot7++;
            } else if (n.charAt(i) != 1 && n.charAt(i) != 8 ) {
                huonot6++;
            } else if (n.charAt(i) != 2 && n.charAt(i) != 9) {
                huonot2++;
            } else if (n.charAt(i) != 3) {
                huonot4++;
            } else if (n.charAt(i) != 5) {
                huonot2++;
            } else if (n.charAt(i) != 4) {
                huonot3++;
            } else if (n.charAt(i) != 6) {
                huonot1++;
            }
        }
        
       
        
        
        int min1 = Math.min(huonot3 + huonot4, huonot2 + huonot5);
        int min2 = Math.min(huonot1 + huonot6, huonot7);
        int min3 = Math.min(min1, min2);
        
        return min3;
    }
    
    public static int etaisyysSeiskasta(String n) {
        int huonot = 0;
        for (int i = 0; i < n.length(); i++) {
            if (n.charAt(i) != 0 && n.charAt(i) != 7) {
                huonot++;
            }
        }
        return huonot;
    }
    
}

Test details

Test 1

Verdict:

input
932

correct output
1

user output
3

Test 2

Verdict:

input
622897

correct output
4

user output
6

Test 3

Verdict:

input
147656

correct output
3

user output
6

Test 4

Verdict:

input
3452

correct output
4

user output
0

Test 5

Verdict:

input
788431492

correct output
7

user output
9

Test 6

Verdict:

input
989266495048717272261061594909...

correct output
48

user output
0

Test 7

Verdict:

input
656115984810304444763175

correct output
18

user output
24

Test 8

Verdict:

input
821785741859753883189643338604...

correct output
49

user output
60

Test 9

Verdict:

input
989368021051

correct output
8

user output
12

Test 10

Verdict:

input
850646258628472406299081311034...

correct output
75

user output
0

Test 11

Verdict:

input
905529028380409196254499360502...

correct output
73

user output
90

Test 12

Verdict:

input
910487086247939283017891549257...

correct output
71

user output
0

Test 13

Verdict:

input
819648081022975646379749170608...

correct output
74

user output
93

Test 14

Verdict:

input
534150835659907637615065081226...

correct output
76

user output
96

Test 15

Verdict:

input
903033794991942065956114372733...

correct output
78

user output
99

Test 16

Verdict:

input
737347217956895521599162105321...

correct output
71

user output
90

Test 17

Verdict:

input
826360887089984268785983647159...

correct output
73

user output
93

Test 18

Verdict:

input
224396467462996787526747118066...

correct output
66

user output
0

Test 19

Verdict:

input
162181307721411363866352372656...

correct output
70

user output
90

Test 20

Verdict:

input
885185290760073270713376396959...

correct output
73

user output
0