Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

OVERF09 - Overflow

 

Os computadores foram inventados para realizar cálculos muito rapidamente, e atendem a esse requisito de maneira extraordinária. Porém, nem toda conta pode ser feita num computador, pois ele não consegue representar todos os números dentro de sua memória. Em um computador pessoal atual, por exemplo, o maior inteiro que é possível representar em sua memória é 4.294.967.295. Caso alguma conta executada pelo computador dê um resultado acima desse número, ocorrerá o que chamamos de overflow, que é quando o computador faz uma conta e o resultado não pode ser representado, por ser maior do que o valor máximo permitido (em inglês overflow significa trasbordar).

Por exemplo, se um computador só pode representar números menores do que 1023 e mandamos ele executar a conta 1022 + 5, vai ocorrer overflow.

Tarefa

Dados o maior número que um computador consegue representar e uma expressão de soma ou multiplicação entre dois inteiros, determine se ocorrerá overflow.

Entrada

A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado).

A primeira linha da entrada contém um inteiro N (1 ≤ N ≤ 500.000) representando o maior número que o computador consegue representar. A segunda linha contém um inteiro P (0 ≤ P ≤ 1000), seguido de um espaço em branco, seguido de um caractere C (que pode ser ‘+’ ou ‘*’, representando os operadores de adição e multiplicação, respectivamente), seguido de um espaço em branco, seguido de um outro inteiro Q (0 ≤ Q ≤ 1000). Essa linha representa a expressão P + Q, se o caractere C for ‘+’, ou P × Q, se o caractere C for ‘*’.

Saída

Seu programa deve imprimir, na saída padrão, a palavra ‘OVERFLOW’ se o resultado da expressão causar um overflow, ou a palavra ‘OK’ caso contrário. Ambas as palavras devem ser escritas com letras maiúsculas.

Exemplos

Entrada
10
5 + 5

Saída
OK

Entrada
44
23 * 2

Saída
OVERFLOW

Entrada
323500
42 * 35

Saída
OK

Adicionado por:Wanderley Guimarăes
Data:2012-06-03
Tempo limite:1s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP PERL6 PY_NBC SCALA TCL
Origem:OBI 2009 - fase 1 nível 1

hide comments
2021-03-30 23:08:45
#include <stdio.h>


int main() {
int n, p, q, x;
char c;

scanf("%d", &n);
scanf("%d %c %d", &p, &c, &q);


if(c == '+') {
x = p + q;
} else if(c == '*') {
x = p * q;
} if (x > n) {
printf("OVERFLOW");
} else {
printf("OK");
}


}

2017-06-30 00:26:22
trivial
2013-09-05 19:10:43 [IFMG/UFOP] Bruno Souza Ramos
Sussa :(
2013-05-11 13:01:40 Nauuh Fava
ń entendi nada
:(
2013-05-11 12:37:59 Nathan Bruno Souza Nogueira
josue vai tomar no c!!
2013-05-04 13:51:00 josue marinho hinrichs
vao no youtube e botem: o papa renunciou
2013-05-04 13:49:11 josue marinho hinrichs
nathan viadao
2013-05-04 13:47:56 Nathan Bruno Souza Nogueira
josue viado gay gay gay gay gay
2013-05-04 13:47:16 josue marinho hinrichs
vai toma nu c* nathan
2013-05-04 13:46:48 Nathan Bruno Souza Nogueira
aaaaaaaaaaaaaa josue vai se fude i vai i vai vai vai vai vaaaaaaaaaaaaaaaaaai
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.