Dãy đảo dấu luân phiên
        
            Submit solution
        
    
    
    
    
    
    
    
    
    
                    
                
        
            
        
        Points:
        
                2 (partial)        
    
    
        Time limit:
        1.0s
    
    
        Memory limit:
        98M
    
    
                        Author:
                        
                    
        
                    Problem type                
                
        
                Allowed languages
            
            
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG            
        Toto học lập trình về dãy số và có một trò chơi như sau.
Cho dãy số nguyên \(a_1, a_2,...,a_n\) bạn được chọn một giá trị bất kỳ trong dãy để lấy khỏi dãy, ngay sau khi lấy khỏi dãy thì toàn bộ các phần tử còn lại của dãy sẽ đảo dấu (tức là mỗi phần tử đều nhân với \(-1\))
Bạn lặp lại bước trên tới khi dãy không còn phần tử nào.
Nhiệm vụ của bạn chọn cách lấy các phần tử sao cho tổng tất cả các phần tử lấy được là lớn nhất.
Input
Dòng đầu là số nguyên dương \(n\) là số phần tử của dãy \((1 \le n \le 10^5)\)
Dòng cuối gồm các phần tử của dãy có giá trị tuyệt đối không vượt quá \(10^6\)
Output
Số nguyên duy nhất là kết quả của bài toán
Ví dụ
Input
7
-4 3 -4 6 -2 -5 0Output
20
Comments
Thầy ơi thầy mở thêm java đi ạ