Fluttuazioni Finanziarie 70/100 - parte 2


#1

Nonostante il codice mi sembri apparentemente corretto, non riesco a spiegarmi i test case errati (prendo solo 70/100);

#include <iostream>
#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int main(int argc, char** argv) {
	ifstream fin("input.txt");
	ofstream fout("output.txt");
	int N;
	fin>>N;
	int v[N];
	for(int i=0;i<N;i++){
		fin>>v[i];
	}
	int MaxD = v[0]-v[1];
	for(int i=1;i<N-1;i++){
		if(fabs(v[i]-v[i+1])>MaxD) MaxD = v[i]-v[i+1];
	}
	fout<<MaxD;
	return 0;
}

Nonostante abbia provato ad usare> il valore assoluto (40 e 70/100) e considerato N=1 (0/100) non riesco a prendere piu’ di 70/100; any other ideas? x-x


#2

Il problema è questa istruzione. Tu hai giustamente messo il valore assoluto nell’ if, ma devi metterlo anche quando cambi il valore di MaxD altrimenti potresti dargli un valore negativo.