Afişează mesaje
|
|
Pagini: [1]
|
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 394 Vila 2
|
: Octombrie 26, 2010, 21:00:32
|
#include <fstream> #include <cstdlib> using namespace std; ifstream fin("vila2.in"); ofstream fout("vila2.out");
int n,k,front,back,i,maxim,front1,back1; int a[100010],d[100010],d1[100010]; int main() { maxim=-30001; fin>>n>>k; for(i=1;i<=n;i++){ fin>>a[i]; } front=1,back=0; front1=1,back1=0; for(i=1;i<=n;i++){ while(front<=back && a[i]>=a[d[back]]) back--; d[++back]=i; while(front1<=back1 && a[i]<=a[d1[back1]] ) back1--; d1[++back1]=i;
if(i>=k && a[d[front]]-a[d1[front1]]>maxim && abs(d[back]-d1[back1])<=k){ maxim=a[d[front]]-a[d1[front1]]; } if(d[front] == i-k) front++; if(d[front1] == i-k) front1++; } fout<<maxim; return 0; } nu iau un test...testul 4...imi puteti spune ce gresesc? Multumesc! am rezolvat pana la urma [editat de moderator] foloseste tag-ul "code" cand postezi cod pe forum!
|
|
|
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 002 Algoritmul lui Euclid extins
|
: Martie 17, 2010, 15:31:15
|
// algoritmul lui euclid.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include<iostream> using namespace std; #include<fstream> ifstream f("euclid2.in.txt"); ofstream g("euclid2.out.txt"); int cmmdc(int a, int b) { int r; r = a % b; while(r != 0) { a = b; b = r; r = a % b; } return b; }
int _tmain(int argc, _TCHAR* argv[]) { int n,i,a,b; f>>n; cout<<n; for(i=0;i<n;i++) { f>>a;f>>b; cout<<a<<" ,"<<b; g<<cmmdc(a,b); g<<endl; }
f.close(); g.close(); return 0; } Folosesc VIsual c++ 2008 ....ce este gresit de nu imi da 0 puncte?, Asta e prima data cand trimit o solutie la vreo problema si nu prea stiu cum merg lucrurile!
|
|
|
|
|