Difference between revisions of "Solução: Problema da fragmentação de memória (Arleson Nunes)"
From AdonaiMedrado.Pro.Br
Line 11: | Line 11: | ||
Fragmentar(); | Fragmentar(); | ||
− | |||
} | } | ||
Line 50: | Line 49: | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } |
Revision as of 23:57, 7 April 2009
using System; namespace Fragmentacao { class MainClass { public static void Main(string[] args) { Fragmentar(); } public static void Fragmentar() { int tamanho = int.Parse(Console.ReadLine()); int[] memoria = new int[int.Parse(Console.ReadLine())]; int aux = 0; int cont = 0; for (int i = 0; i < memoria.Length; i++) { aux = int.Parse(Console.ReadLine()); if (aux <= tamanho) { memoria[cont] = aux; cont++; tamanho = tamanho - aux; } } int liberacoes = int.Parse(Console.ReadLine()); int posicao = 0; for (int j = 0; j < liberacoes; j++) { posicao = int.Parse(Console.ReadLine()); if (memoria[posicao] > tamanho) { tamanho = memoria[posicao]; } memoria[posicao] = 0; } Console.WriteLine(tamanho); } } }