Free agent Cliff Floyd agreed Wednesday to a $3 million, one-year contract with the Cubs after spending four seasons with the Mets. Floyd can make an additional $4.5 million this year in bonuses based on plate appearances and time on the active 25-man roster. The deal includes a mutual option for 2008 that could become guaranteed if he has 100 games started or 425 plate appearances this year. He could earn $17.5 million over two years if he has 550 plate appearances each season and $15.5 million if he has 500 each season.